namespace SemanticKernelStudy.Test; public class UseXunit { //xUnit原生 private readonly ITestOutputHelper _output; //Xunit.DependencyInjection 库 private readonly ITestOutputHelperAccessor _testOutputHelperAccessor; //推荐:Xunit.DependencyInjection.Logging 库,与 Microsoft.Extensions.Logging 集成 private readonly ILogger _logger; public UseXunit(ITestOutputHelper output,ITestOutputHelperAccessor testOutputHelperAccessor, ILogger logger) { _output = output; _testOutputHelperAccessor = testOutputHelperAccessor; _logger = logger; } [Fact] public void UseXunitFramwork_Test() { var msg = "使用 xUnit 单元测试框架!"; _output.WriteLine($"{msg}"); Assert.True(true,msg); } [Fact] public void Use_Output_Test() { var msg = "使用 xUnit 原生 ITestOutputHelper 输出测试内容!"; _output.WriteLine(msg); Assert.True(true, msg); } [Fact] public void Use_XunitDI_Output_Test() { var msg = "使用 Xunit.DependencyInjection ITestOutputHelperAccessor 输出测试内容!"; _testOutputHelperAccessor.Output?.WriteLine($"ITestOutputHelperAccessor: {msg}"); Assert.True(true, msg); } [Fact] public void Use_ILogger_Test() { var msg = "使用 Xunit.DependencyInjection 实现的 ILogger 输出测试内容"; _logger.LogInformation($"ILogger: {msg}"); Assert.True(true, msg); } [Fact] public void Use_All_Test() { _output.WriteLine("使用 xUnit 原生 ITestOutputHelper 输出测试内容!"); _testOutputHelperAccessor.Output?.WriteLine("使用 Xunit.DependencyInjection ITestOutputHelperAccessor 输出测试内容!"); _logger.LogInformation("使用 Xunit.DependencyInjection 实现的 ILogger 输出测试内容"); Assert.True(true, "多种方式,输出测试内容"); } }