Verwenden der Assert-Klassen
Verwenden Sie die Assert-Klassen des UnitTestingFramework-Namespace, um bestimmte Funktionen zu überprüfen.Eine Komponententestmethode führt den Code einer Methode in Ihrem Entwicklungscode aus, aber sie meldet die korrekte Ausführung des Codeverhaltens nur, wenn Sie Assert-Anweisungen einschließen.
Arten von Assert-Klassen
Der Microsoft.VisualStudio.TestTools.UnitTesting-Namespace stellt mehrere Arten von Assert-Klassen bereit:
In Ihrer Testmethode können Sie beliebig viele Methoden der Assert-Klasse aufrufen, z. B. Assert.AreEqual().Die Assert-Klasse stellt eine Vielzahl von Methoden bereit, für die in vielen Fällen mehrere Überladungen vorhanden sind.
Verwenden Sie die CollectionAssert-Klasse, um Objektauflistungen zu vergleichen und den Zustand einer oder mehrerer Auflistungen zu überprüfen.
Verwenden Sie die StringAssert-Klasse, um Zeichenfolgen zu vergleichen.Diese Klasse enthält eine Vielzahl nützlicher Methoden, z. B. StringAssert.Contains, StringAssert.Matches oder StringAssert.StartsWith.
Die AssertFailedException-Ausnahme wird immer dann ausgelöst, wenn ein Test fehlschlägt.Ein Test schlägt fehl, wenn eine Zeitüberschreitung auftritt, eine unerwartete Ausnahme ausgelöst wird oder der Test eine Assert-Anweisung enthält, die zum Ergebnis Fehler führt.
Die AssertInconclusiveException wird immer dann ausgelöst, wenn ein Test das Ergebnis Nicht eindeutig erzeugt.In der Regel fügen Sie einem Test für die Dauer der Testentwicklung eine Assert.Inconclusive-Anweisung hinzu, um anzuzeigen, dass der Test noch nicht zur Ausführung bereit ist.
Hinweis |
---|
Eine andere Möglichkeit besteht darin, einen noch nicht zur Ausführung geeigneten Test mit dem Ignore-Attribut zu kennzeichnen.Dies hat jedoch den Nachteil, dass Berichte zur Anzahl der noch zu implementierenden Tests nur noch mit einigem Aufwand generiert werden können. |
Wenn Sie eine neue Assert-Ausnahmeklasse schreiben, kann die Ausnahme leichter als Assert-Fehler erkannt werden, wenn die Klasse von der Basisklasse UnitTestAssertException erbt. Andernfalls lassen sich Assert-Ausnahmen nicht eindeutig von unerwarteten Ausnahmen unterscheiden, die ggf. durch Ihren Test- oder Produktionscode ausgelöst werden.
Ergänzen Sie eine Testmethode durch das ExpectedExceptionAttribute-Attribut, wenn die Testmethode überprüfen soll, ob eine Ausnahme wie erwartet durch eine Methode in Ihrem Entwicklungscode ausgelöst wird.
Siehe auch
Referenz
Microsoft.VisualStudio.TestTools.UnitTesting
Weitere Ressourcen
Erstellen und Ausführen von Komponententests für vorhandenen Code