Verwenden TDD ersten Mal in meinem Leben heute. Ich benutze nUnit.TDD nUnit mehrere behauptet für eine Methode
Ich habe eine Methode, wo ich mehrere verschiedene Eingänge einfügen und überprüfen kann, ob das Ergebnis funktioniert.
Ich lese, dass mehrere Behauptungen in einem Test kein Problem ist, und ich möchte wirklich nicht neue Test für jeden Eingang schreiben.
Beispiel mit mehreren behauptet:
[TestFixture]
public class TestClass
{
public Program test;
[SetUp]
public void Init()
{
test = new Program();
}
[Test]
public void Parse_SimpleValues_Calculated()
{
Assert.AreEqual(25, test.ParseCalculationString("5*5"));
Assert.AreEqual(125, test.ParseCalculationString("5*5*5"));
Assert.AreEqual(10, test.ParseCalculationString("5+5"));
Assert.AreEqual(15, test.ParseCalculationString("5+5+5"));
Assert.AreEqual(50, test.ParseCalculationString("5*5+5*5"));
Assert.AreEqual(3, test.ParseCalculationString("5-1*2"));
Assert.AreEqual(7, test.ParseCalculationString("7+1-1"));
}
}
Aber wenn etwas schiefgeht es ist sehr schwer zu lesen, die gescheitert behaupten, ich meine, wenn man sie viel haben, müssen Sie durch alle gehen und die richtige assert finden .
Gibt es eine elegante Möglichkeit zu zeigen, welche Eingabe wir gesetzt haben, wenn Assert fehlschlägt, statt Ergebnis und erwartetem Ergebnis?
Vielen Dank.
Meiner Meinung nach sollten Sie * einen * Test für jeden Testfall haben. Ihr Test sollte einen Grund zum Scheitern haben: Sie haben den Code geändert, der Ihren Testfall zerstört hat. Was passiert, wenn Sie einen Teil Ihrer Analyselogik ändern, sodass Additionsoperationen fehlschlagen, die Subtraktion jedoch in Ordnung ist? Wenn Sie einen Testfall haben, wird sowohl die Addition als auch die Subtraktion fehlschlagen. –