我正在尝试使用带有values属性的NUnit,这样我就可以指定许多不同的输入,而不需要100个单独的测试。
然而,现在我意识到有些时候我想要使用相同的输入集,但在非常不同的测试上,就像下面这样。
有没有一种方法可以让我在一个地方指定所有的值,就像数组一样,并为每个值属性使用数组?
我希望确保测试作为100个单独的测试运行,而不是运行100个值的1个测试。
我已经查看了Nunit文档,但我找不到一种方法来实现这一点。有什么想法吗?
代码:
[Test]
public void Test1([Values("Value1", "Value2", "Value3", ... "Value100")] string value)
{
//Run Test here
}
[Test]
public void Test2([Values("Value1", "Value2", "Value3", ... "Value100")] string value)
{
//Run Test here
}
[Test]
public void Test3([Values("Value1", "Value2", "Value3", ... "Value100")] string value)
{
//Run Test here
}
发布于 2012-12-25 03:08:40
TestCaseSource
attribute在这里很合适。
请参见示例:
private string[] commonCases = { "Val1", "Val2", "Val3" };
[Test]
[TestCaseSource(nameof(commonCases))]
public void Test1(string value)
{
....
}
[Test]
[TestCaseSource(nameof(commonCases))]
public void Test12(string value)
{
....
}
https://stackoverflow.com/questions/14024789
复制相似问题