我开始与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]
有类似的东西吗?
答案 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);
}