Эти три теста идентичны, за исключением того, что они используют другую статическую функцию для создания экземпляра StartInfo. У меня есть эта модель, идущая по всему тестовому коду, и мне понравилось бы , чтобы иметь возможность упростить это с помощью [TestCase] или любым другим способом, который уменьшает шаблонный код. Насколько мне известно, мне не разрешено использовать делегат в качестве аргумента [TestCase], и я надеюсь, что у людей здесь есть творческие идеи о том, как сделать код ниже более кратким.Как упростить эти тесты NUNit?
[Test]
public void ResponseHeadersWorkinPlatform1()
{
DoResponseHeadersWorkTest(Platform1StartInfo.CreateOneRunning);
}
[Test]
public void ResponseHeadersWorkinPlatform2()
{
DoResponseHeadersWorkTest(Platform2StartInfo.CreateOneRunning);
}
[Test]
public void ResponseHeadersWorkinPlatform3()
{
DoResponseHeadersWorkTest(Platform3StartInfo.CreateOneRunning);
}
void DoResponseHeadersWorkTest(Func<ScriptResource,StartInfo> startInfoCreator)
{
ScriptResource sr = ScriptResource.Default;
var process = startInfoCreator(sr).Start();
//assert some things here
}
научил меня новой концепции !!! плюс +1 – Prashant
+1 приятный. Вот улучшенная [ссылка NUnit doc с примерами] (http://nunit.org/index.php?p=testCaseSource&r=2.5.10). –