NUnit: Test mit keiner erwarteten Ausnahme
Möchte ich erstellen, NUnit-test, um sicherzustellen, dass meine Funktion nicht eine exception werfen. Gibt es eine bestimmte Weise, es zu tun, oder sollte ich einfach schreiben
[Test]
public void noExceptionTest() {
testedFunction();
}
und es wird auch gelingen, wenn keine Ausnahme geworfen wird?
InformationsquelleAutor der Frage Yury Pogrebnyak | 2012-03-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
ODER einfach nur Methode
Weitere details siehe NUnit Ausnahme Behauptet
InformationsquelleAutor der Antwort sll
Mithilfe von NUnit 3.0 Constraint-Modell Typ Behauptungen würde der code wie folgt Aussehen:
Assert.That(() => SomeMethod(actual), Throws.Nothing);
Diesem Beispiel ist entnommen aus NUnit-wiki.
InformationsquelleAutor der Antwort Schneider
Nicht das werfen einer Ausnahme wird der normale Verlauf der Aktion. Ihre Prüfung erfolgreich stellen Sie sicher, dass eine Ausnahme nicht geworfen.
InformationsquelleAutor der Antwort dasblinkenlight
Ja, keine Ausnahmen ausgelöst -> test-pass. Wenn es try-catch-block, ohne re-zu werfen, das vergeht auch.
InformationsquelleAutor der Antwort Anton
Sind Sie richtig. Wenn es eine Ausnahme, dann wird der test fehlschlagen.
Es sei denn, Sie geben
Oder wie @sll sagt, Sie verwenden die spezifische
Behauptung.
InformationsquelleAutor der Antwort Phil
Ich denke, es ist ein problem in Verbindung mit unit-test-Logik.
Wenn Sie erwarten, dass eine bestimmte Ausnahme unter bestimmten Eingänge, deklarieren Sie es als eine erwartete Ausnahme. Wenn Sie nur überprüfen, ob deine Funktion verhält sich richtig und keine Ausnahmen zu erwarten sind, während das richtige Verhalten, Sie einfach schreiben, und wenn es wirft eine Ausnahme, Ihr test ausfällt.
Dein code scheint zu funktionieren, auf der anderen Seite, nur die überprüfung keine Ausnahmen möglicherweise nicht der richtige Weg für unit-Tests. In unit-tests, in der Regel erwarten, dass einige outputs (erwartete Werte), Sie haben einige tatsächlichen Ausgaben (ist-Werte) und Sie behaupten, dass die erwarteten und die tatsächlichen Werte sind die gleichen.
InformationsquelleAutor der Antwort daryal