带有一组值的NUnit测试

Sam*_*lus 18 c# nunit

我正在尝试将NUnit与values属性一起使用,这样我就可以指定许多不同的输入,而无需进行100次单独的测试.

但是现在我意识到有时候我想使用相同的输入集,但是在非常不同的测试中,如下所示.

有没有办法可以在一个地方指定所有值,比如一个数组,并为每个值属性使用数组?

我想确保测试运行100个单独的测试,而不是1个运行100个值的测试.

我查看了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
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*iuk 26

TestCaseSource属性适合这里.

见例子:

private string[] commonCases = { "Val1", "Val2", "Val3" };

[Test]
[TestCaseSource(nameof(commonCases))]
public void Test1(string value)
{
    ....
}

[Test]
[TestCaseSource(nameof(commonCases))]
public void Test12(string value)
{
    ....
}
Run Code Online (Sandbox Code Playgroud)