我正在寻找与MbUnit的[DynamicTestFactory]最接近的NUnit等价物,这样我就可以在运行时创建动态测试。NUnit中有等价物吗?非常感谢。
我没有使用过MbUnit,但据我所知,在NUnit中最接近DynamicTestFactory
的是TestCaseSource
。
我发现了这个DynamicTestFactory
的例子(从这里):
[DynamicTestFactory]
public IEnumerable<Test> Should_Create_And_Execute_Dynamic_Tests()
{
IEnumerable<int> list = new[] {1, 2, 3, 4, 5};
foreach (int i in list)
{
yield return new TestCase(string.Format("Test {0}",i),
() => { Assert.IsTrue(MyFunction(i)); });
}
}
这就是如何使用NUnit的TestCaseSource
(请参阅此处)来完成相同的事情:
[Test, TestCaseSource("SourceList")]
public void MyFunctionTest(int i)
{
Assert.IsTrue(MyFunction(i));
}
private static readonly IEnumerable<int> SourceList = new[] { 1, 2, 3, 4, 5 };