c# - xUnit 中是否有预期的结果属性?

标签 c# xunit.net

我开始使用 xUnit,但我有一个问题。
假设我正在测试一个接收 int 并在参数大于 10 时返回 true 的函数。
我知道我可以这样做:

[Theory]
[InlineData(7)]
[InlineData(13)]
[InlineData(4)]
public void MyTest(int num)
{
    bool res = MyCompMethod(num);
    Assert.True(res);
}

但它似乎还不够好,因为它会显示某些测试已失败,尽管它们并没有失败。我也想输入预期结果,这样我就可以比较这些值,例如:

[Theory]
[InlineData(7), false]
[InlineData(13), true]
[InlineData(4), false]

有这样的东西吗?

最佳答案

没有这样的属性,但你可以这样做:

[Theory]
[InlineData(7, false)]
[InlineData(13, true)]
[InlineData(4, false)]
public void MyTest(int num, bool shouldBeGreaterThanTen)
{
    bool isGreaterThanTen = MyCompMethod(num);
    Assert.Equal(shouldBeGreaterThanTen, isGreaterThanTen);
}

关于c# - xUnit 中是否有预期的结果属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29675512/

相关文章:

c# - 在 aspx 文件中包含 webservice 函数

c# - 如何使用 Moles 为多次调用 C# 中的方法返回不同的值?

c# - 序列化为 JSON 时出现 OutOfMemoryException?

entity-framework - 如何在不进行模拟的情况下针对 AccountController 的实际 ASP.NET Core 1.0 Identity 表进行 xUnit 测试?

c# - P/调用 GetDiskFreeSpaceEx

c# - 如何将 pdf 文件作为附件添加到电子邮件

c# - XUnit.net 在运行后立即捕获每个测试的结果

json - 在 Nancy 中对 JSON ModelBinding 进行单元测试

c# - 使用 Xunit 进行 .Net 核心测试

visual-studio-2013 - Visual Studio 2013 - 不再能够与 MSTest 并行运行 xunit 测试