You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
1.9 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

namespace OptionsPattern.Sutdy.Experience
{
public class UseXunitTest:IDisposable
{
private readonly ITestOutputHelper? _output;
public UseXunitTest(ITestOutputHelperAccessor outputHelperAccessor)
{
if (outputHelperAccessor == null)
{
throw new ArgumentNullException(nameof(outputHelperAccessor));
}
_output = outputHelperAccessor.Output;
}
/// <summary>
/// xUnit 可用性测试
/// </summary>
[Fact]
public void UsabilityTest()
{
Assert.True(true, "6.1 配置选项编程体验使用xUnit测试框架");
_output?.WriteLine("6.1 配置选项 编程体验!");
}
/// <summary>
/// 断言不发生异常
/// 使用xUnit 变通方法
/// </summary>
[Fact]
public void DoesNotThrow_Test()
{
//待执行代码段
Action codeSnippet = () =>
{
//业务代码
//模拟异常
//throw new Exception("我是特意抛出的异常!");
};
var exception = Record.Exception(codeSnippet);
Assert.Null(exception);
_output?.WriteLine("使用 xUnit 变通方法,断言不发生异常!");
}
/// <summary>
/// 断言不发生异常
/// 使用FluentAssertions 库方式,断言不发生异常
/// </summary>
[Fact]
public void DoesNotThrow_UseFluentAssertions_Test()
{
//待执行代码段
Action codeSnippet= () =>
{
//业务代码
//模拟异常
//throw new Exception("我是特意抛出的异常!");
};
//断言:不发生异常
codeSnippet.Should().NotThrow();
_output?.WriteLine("使用 FluentAssertions 库方式,断言不发生异常!");
}
public void Dispose()
{
}
}
}