xUnit中是否存在预期的结果属性?

时间:2015-04-16 13:01:21

标签: 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]

有类似的东西吗?

1 个答案:

答案 0 :(得分:7)

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

[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);
}