Ich schreibe Erweiterungsmethoden zum Testen von Werten für meinen Komponententest. Ein naives Beispiel wäre:
%Vor%Und es in einem Test verwenden:
%Vor%Alles funktioniert, außer dass die Zeile, die die Ausnahme auslöst, diejenige ist, die ich beim Doppelklicken auf den fehlgeschlagenen Test im Fenster Testergebnisse erreicht habe, und in Testergebnisdetails wird die Wurflinie im Fehler Stack Trace angezeigt .
Gibt es einen Weg darum, so dass "someBool.ShouldBeTrue ();":
Ich glaube, ich habe die Antwort gefunden. Sie müssen lediglich Ihre benutzerdefinierten Assertion-Klassen / Methoden in eine separate Assembly einfügen. Sie können dies als ein separates Projekt in der gleichen Lösung haben, wenn Sie möchten.
Dafür gibt es bereits eine Klassenbibliothek: Ссылка
Es gibt ein Zitat aus dem obigen Link:
... Als Referenz sind die nicht verfügbaren Asserts:
- Assert.IsNaN
- Assert.IsEmpty
- Assert.IsNotEmpty
- Assert.Greater
- Assert.GreaterOrEqual
- Assert.Less
- Assert.LessOrEqual
- Assert.IsAssignableFrom
- Assert.IsNotAssignableFrom
- CollectionAssert.IsEmpty
- SammlungAssert.IsNotEmpty
- StringAssert.AreEqualIgnoringCase
- StringAssert.IsMatch
- FileAssert.AreEqual
- FileAssert.AreNotEqual
... Ich habe eine Klassenbibliothek erstellt, die alle außer den FileAssert-Methoden und StringAssert.IsMatch enthält. ... Sie können die Klasse aus meinem öffentlichen SkyDrive-Ordner herunterladen: Ссылка
Tags und Links .net unit-testing mstest assert