2012-10-24 3 views
17

Wenn Sie mit nUnit in Ihren Tests Debug.Print-Anweisungen hinzufügen, werden sie in der Testausgabe angezeigt. (Zumindest im Resharper-Unit-Testfenster)Wie kann ich Protokollnachrichten zu einem NUnit-Test hinzufügen, die in einer nan-Build-Ausführung angezeigt werden?

Bei Verwendung einer Nant-Build-Datei, die dieselben Tests ausführt, werden diese Debug.Print-Anweisungen nicht angezeigt.

Wie kann ich Nachrichten zu meinen Komponententests hinzufügen, die sowohl in der nUnit-Ausgabe als auch in der Build-Log-Ausgabe von nant erscheinen?

Antwort

23

Console.WriteLine() sollte beibehalten werden (es ist für meine Version von NUnit mindestens).

Das heißt, betrachten - jedes Mal, wenn Sie eine Textausgabe hinzufügen möchten - wie Sie es in eine Assertion mit einer Nachricht verwandeln könnten. Ihre Tests werden viel besser werden.

+0

Generell würde ich Ihnen zustimmen, aber in diesem Fall waren die benötigten Informationen nicht mit dem Testen der App verbunden, es waren Metadaten im Zusammenhang mit dem Ausführen der Tests (insbesondere der ausführende Pfad). –

+0

Das hat den Trick perfekt gemacht! –

21

Die Protokollierung von NUnit3 während eines Tests erfolgt über die Klasse: TestContext. Es hat eine Reihe von statischen Write-Varianten. Jeder gibt allgemeinen Inhalt an das Testergebnis aus.

TestContext.Out ergibt eine TextWriter, die auch verwendet werden kann, um Protokollierungsinformationen in Testergebnisse zu emittieren.

Verwandte Themen