Wie immer habe ich das immer gemacht, um ein Plugin für NUnit zu erstellen. Das Plug-in hebt einfach die Registrierung des Standard-Trace-Listeners auf und registriert eine Ersetzung, die eine Exception auslöst, wenn Assert / Trace.Fail ausgelöst wird. Ich mag diesen Ansatz, weil Tests immer noch fehlschlagen, wenn eine Assert ausgelöst wird, keine Nachrichtenfelder angezeigt werden und Sie Ihren Produktionscode nicht ändern müssen.
Bearbeiten - hier ist der Plugin-Code in seiner Gesamtheit. Sie sind jedoch selbst für das Erstellen des eigentlichen Plugins verantwortlich - überprüfen Sie die NUnit-Site:)
%Vor%Eine andere Möglichkeit, den Produktionscode nicht zu ändern oder ein benutzerdefiniertes NUnit-Add-In zu schreiben, wäre, die Trace-Listener in einer Setup-Fixture zu ersetzen.
z. Fügen Sie die folgende Klasse in dem Namespace hinzu, in dem sich Ihre Tests befinden:
%Vor%Anstatt Debug.Assert direkt aufzurufen, können Sie eine Wrapper-Methode aufrufen, die vor dem Aufruf von Debug.Assert prüft, ob ein Debugger angehängt ist. (Vermutlich sollte eine Ausnahme ausgelöst werden, wenn kein Debugger angeschlossen ist, damit Ihre Tests fehlschlagen.) Beispiel:
%Vor%