编程语言
首页 > 编程语言> > c# – xUnit中是否存在预期的结果属性?

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

作者:互联网

我开始使用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-net
来源: https://codeday.me/bug/20190528/1170869.html