假设我有以下使用xUnit编写的测试用例:
public static IEnumerable<object[]> testValues = new List<object[]>
{
new object[] {new double?[] {0.0}, 0.0, 0.0},
};
[Theory]
[MemberData(nameof(testValues))]
public void Test1(double?[] values, double expectedQ1, double expectedQ3)
{
// Test code
}
我如何在nUnit中表示相同的单元测试而不是xUnit?
注意:这里的主要问题似乎是使用了MemberData,到目前为止,我还没有找到一个nUnit等价物 . 在nUnit中表达此类单元测试用例的正确方法是什么?
1 回答
像这样:
请注意,NUnit有
TheoryAttribute
但你不想在这里 . 在NUnit中,理论不仅仅是参数化测试 . 在决定是否需要之前,您应该阅读文档以了解它是什么 . 当然,你也应该阅读TestCaseSourceAttribute
. :-)NUnit中允许为测试用例指定数据的其他属性包括
TestCaseAttribute
,ValuesAttribute
,ValueSourceAttribute
,RandomAttribute
和RangeAttribute
.