Kann ich NUnit so konfigurieren, dass Debug.Fail beim Ausführen meiner Tests kein Meldungsfeld anzeigt?

8

Ich habe diese Eigenschaft:

%Vor%

und dieser Komponententest

%Vor%

Gibt es eine Möglichkeit, dass ich verhindern kann, dass Debug.Fail ein Meldungsfeld anzeigt, wenn ich meine Tests durchführe, aber mir erlaube, es mir zu zeigen, wenn ich meine Anwendung debugge?

    
Grokodile 18.04.2010, 11:20
quelle

3 Antworten

2

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%     
Mark Simpson 09.05.2010, 18:27
quelle
8

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%     
Ergwun 06.07.2010 08:28
quelle
0

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%     
Nicole Calinoiu 19.04.2010 14:58
quelle

Tags und Links