为什么没有断言的 xUnit Fact 类型测试总是通过?
Why does an xUnit Fact type test without assertions always passes?
样本:
[Fact]
public void FooTest(){
}
VS2015 中的结果:
测试通过
我在 .NET 4.6 Framework C# 项目中使用 xUnit NuGet v2.4.1。
如果断言失败,则测试失败。等效地,如果每个断言都成功,则测试通过。让我们更精确和数学化:
- 如果失败次数不为零,则测试失败。
- 如果断言数等于成功断言数,则测试通过。
在您的测试用例中,失败次数为零,成功次数等于断言次数;两者都等于零。
规则不是 "every assertion must succeed and there must be at least one assertion"。规则只是 "every assertion must succeed" 并且满足该条件。
样本:
[Fact]
public void FooTest(){
}
VS2015 中的结果: 测试通过
我在 .NET 4.6 Framework C# 项目中使用 xUnit NuGet v2.4.1。
如果断言失败,则测试失败。等效地,如果每个断言都成功,则测试通过。让我们更精确和数学化:
- 如果失败次数不为零,则测试失败。
- 如果断言数等于成功断言数,则测试通过。
在您的测试用例中,失败次数为零,成功次数等于断言次数;两者都等于零。
规则不是 "every assertion must succeed and there must be at least one assertion"。规则只是 "every assertion must succeed" 并且满足该条件。