Diese drei Tests sind identisch, außer dass sie eine andere statische Funktion verwenden, um eine StartInfo-Instanz zu erstellen. Ich habe dieses Muster alle durch meinen Testcode kommen, und würde gerne in der Lage sein, dies zu vereinfachen mit [TestCase], oder jede andere Möglichkeit, die Boilerplate-Code reduziert. Meines Wissens ist es mir nicht erlaubt, einen Delegierten als [Testfall] -Argument zu verwenden, und ich hoffe, dass die Leute hier kreative Ideen haben, wie man den Code unten knapper macht.Wie vereinfache ich diese NUNit-Tests?
[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
}
brachte mir ein neues Konzept bei !!! plus +1 – Prashant
+1 schön. Hier ist ein verbesserter [NUnit doc Link mit Beispielen] (http://nunit.org/index.php?p=testCaseSource&r=2.5.10). –