2009-03-26 10 views
7

Es gibt mehrere Registerkarten in GUI Läufer von NUnit: alt text http://i43.tinypic.com/2lxglj5.pngWie protokolliert man Fehler, Nachrichten in einem NUnit Unit-Test?

Ich verstehe, dass Console.WriteLine (...) zeigt die Nachrichten in "Console.Out" Reiter. Meine Frage ist, wofür andere Registerkarten sind und wie kann ich Nachrichten an sie anmelden?

[EDIT]

Ich entschuldige mich, wie ich, dass meine ursprüngliche Frage erkennen, nicht klar genug war. Ich beabsichtige, einen ausführlichen Ergebnisbericht zu erstellen, sobald alle Unit-Testfälle ausgeführt sind. Also habe ich die Art und Weise untersucht, wie verschiedene Nachrichten protokolliert werden können, während ein Test ausgeführt wird. Ich freue mich darauf, einen Ergebnisbericht zu erstellen wie:

 
==== TEST1 starts ==== 
Start Time: 2009-03-26 11:15:13 AM 
Checking operation 1....OK 
Checking value of variable "X": 52.56....OK 
End Time: 2009-03-26 11:15:19 AM 
Time taken to execute test: 0.00:00:06.000 

==== TEST2 starts ==== 
. 
. 

Jeder Vorschlag, wie kann ich das erreichen?

Antwort

2

Einstellungen für die Registerkarten sind in den NUnit Optionen - die docs here sehen.

Zum Beispiel, wenn Sie die Display-Konsole Fehlerausgang überprüfen dann wird diese Registerkarte Text Console.Error durch Ihre Tests geschrieben anzuzeigen.

0

Probe:

Assert.AreNotEqual(0, result.Count); 
    [exec] 
    [exec] Tests run: 11, Failures: 1, Not run: 0, Time: 50.422 seconds 
    [exec] 
    [exec] Failures: 
    [exec] 1) Domain.UnitTest.ManagerTest.TestEmbeddedIndex 
: Expected: not 0 
    [exec] But was: 0 
    [exec] 

Ist das, was Sie suchen?
Assert ist sehr umfangreich. Bei Fehlschlagen einer der Bedingungen wirft Nunit einen Fehler auf.

Assert.AreEqual(),Assert.AreSame(), Assert.Contains(),Assert.Fail(); 

Zusätzlich hat Nunit Dinge wie

[ExpectedException] 

Dig in die documentation um mehr zu erfahren ..

1

Basierend auf dem bearbeiten Update:
Wenn ich Sie wäre, würde ich dies des Build-Mechanismus als Teil tun. In Nant ich so etwas tun würde ...

<target name="setup" description="Initializes test properties"> 
    <echo message="Sucessfully initialized tests" /> 
</target> 

Zeige Konsolnachrichten nach jedem [Test] ist eine schlechte Idee, IMHO. Es verzögert die Tests, die zählen, wenn Sie 1000 von ihnen ausführen. Tests sollen blitzschnell sein.

Verwandte Themen