Это может быть сделано с помощью Атрибут TestFixture с параметром.
Если все тесты в классе зависят от одного и того же параметра, это путь.
Класс должен иметь конструктор с тем же параметром, который передается атрибуту TestFixture.
См Параметризованная Тестовые Светильники на https://github.com/nunit/docs/wiki/TestFixture-Attribute
[TestFixture("Oscar")]
[TestFixture("Paul")]
[TestFixture("Peter")]
public class NameTest
{
private string _name;
public NameTest(string name)
{
_name = name;
}
[Test]
public void Test_something_that_depends_on_name()
{
//Todo...
}
[Test]
public void Test_something_that_also_depends_on_name()
{
//Todo...
}
//...
}
Этот код находится на веб-сайте NUnit документация:
[TestFixture("hello", "hello", "goodbye")]
[TestFixture("zip", "zip")]
[TestFixture(42, 42, 99)]
public class ParameterizedTestFixture
{
private readonly string eq1;
private readonly string eq2;
private readonly string neq;
public ParameterizedTestFixture(string eq1, string eq2, string neq)
{
this.eq1 = eq1;
this.eq2 = eq2;
this.neq = neq;
}
public ParameterizedTestFixture(string eq1, string eq2)
: this(eq1, eq2, null)
{
}
public ParameterizedTestFixture(int eq1, int eq2, int neq)
{
this.eq1 = eq1.ToString();
this.eq2 = eq2.ToString();
this.neq = neq.ToString();
}
[Test]
public void TestEquality()
{
Assert.AreEqual(eq1, eq2);
if (eq1 != null && eq2 != null)
Assert.AreEqual(eq1.GetHashCode(), eq2.GetHashCode());
}
[Test]
public void TestInequality()
{
Assert.AreNotEqual(eq1, neq);
if (eq1 != null && neq != null)
Assert.AreNotEqual(eq1.GetHashCode(), neq.GetHashCode());
}
}
http://www.nunit.org/index.php?p=parameterizedTests&r= 2.5.5 – Oded
Непонятно, почему вы пытаетесь параметризовать * setup *, а не * test *. –
после этой настройки тесты выполняют ту же работу. вероятно, имеет смысл принять этот бит в тест и сделать тест параметризованным! – dushyantp