2012-08-27 3 views
5

Ich möchte einen Komponententest zum Erkennen einer ausgelösten Ausnahme schreiben. Unter Verwendung ExpectedExceptionAttribute, führe ich den Test von innerhalb MSVS aus und wenn der TestMethod die Ausnahme trifft, bricht der Debugger zu der Ausnahme ab, aber der TestMethod überspringt korrekt und meldet Bestanden.Verhindern VS C# Unit Testing bricht bei Ausnahmen

Gibt es eine Markierung, die VS sagt, dass er während des Komponententests nicht bricht?

Antwort

11

Führen Sie die Tests nicht in einer Debugsitzung aus. Sie haben die Option "Auswahl ausführen" oder "Auswahl debuggen", wählen Sie die erste und es sollte alles in Ordnung sein.

+0

@Jake Verwenden Strg + F5 in diesem Szenario, das ist das gleiche wie das Ausführen der Auswahl (nicht debuggen) – ChrisBint

+0

Ja, ich erkannte, dass meine CTRL nicht funktionierte! Also habe ich meinen vorherigen Kommentar gelöscht. Nachdem ich deine Antwort gelesen hatte, fand ich das "Test" -Menü, also dachte ich, ich müsste von dort laufen. Vielen Dank. – Jake

4

Wenn Sie CTRL + ALT + E drücken, können Sie konfigurieren, ob der Debugger bricht, wenn verschiedene Arten von Ausnahmen ausgelöst und/oder nicht behandelt werden.

Ich habe festgestellt, dass diese Einstellungen manchmal sehr praktisch sind.

+0

Es gibt viele Optionen (Kontrollkästchen) in diesem Dialogfeld (Debug: Ausnahmen). Ich habe festgestellt, dass ich nur das Feld Common Language Runtime Exceptions (Linie) Thrown (Spalte) deaktivieren muss. Ich stimme zu, dass eine andere Option ist, ohne den Debugger zu laufen, aber manchmal möchten Sie aus irgendeinem Grund mit dem Debugger laufen. Dies ist also eine gute Option, wenn Sie den Debugger verwenden müssen und nicht bei Ausnahmen der ersten Chance unterbrechen möchten. – steve