|
|
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<UseXunit> _logger;
|
|
|
|
|
|
public UseXunit(ITestOutputHelper output,ITestOutputHelperAccessor testOutputHelperAccessor, ILogger<UseXunit> 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, "多种方式,输出测试内容");
|
|
|
|
|
|
}
|
|
|
}
|