NUnit ist, Geltend zu machen.Gleich wirft exception “Geltend zu machen.Gleich sollte nicht verwendet werden, die für Behauptungen"
Ich habe vor kurzem versucht, verwenden Sie die Methode Assert.Equals() beim schreiben einer neuen NUnit-test. Nach Ausführung dieser Methode wirft eine AssertionException
besagt, dass
Assert.Equals should not be used for Assertions.
Das ist ein bisschen verwirrend auf den ersten Blick. Was ist denn hier Los?
InformationsquelleAutor der Frage Odrade | 2012-07-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Assert
ist eine statische Klasse erbt von System.Objekt, da alle Klassen implizit in c#. System.Objekt implementiert die folgende Methode:Die Methoden Assert, die dazu bestimmt sind, für den Vergleich der Geschlechter sind die
Geltend zu machen.AreEqual()
Methoden. Daher ruft dieObject.Equals()
Methode durch die Assert-Klasse in einem unit-test ist sicherlich ein Fehler. Um zu verhindern, dass diese Fehler und Verwirrung zu vermeiden, haben die Entwickler von NUnit absichtlich verstecktObject.Equals
in der Assert-Klasse mit einer Implementierung, die eine Ausnahme auslöst. Hier ist die Umsetzung:Natürlich die Ausnahme, die Nachricht selbst ist verwirrend, aber zumindest lässt Sie wissen, die Sie getan haben etwas falsch.
InformationsquelleAutor der Antwort Odrade
tldr;
nicht:
InformationsquelleAutor der Antwort Doug