2015-02-26 9 views
5

Kann jemand zusätzliche Informationen zur Ausgabekonsole hinzufügen, wenn er xUnit-Tests ausführt?xunit Info zur Ausgabe hinzufügen

Ich benutze testdriven.net, aber ich glaube nicht, dass das meine Antwort ist.

Ich verwende eine IUseFixture (eigentlich IClassFixture von 2.0), um Daten zwischen den Tests zu pflegen. Wenn ein Test fehlschlägt, möchte ich einige dieser kontextbezogenen Daten zusammen mit dem Fehler und dem Stack-Trace, den Sie normalerweise erhalten, ausgeben.

Kennt jemand einen Haken, den ich verwenden kann?

+0

Verwendung FluentAssertions, die Ihnen in dem Hinzufügen von mehr Informationen für den Fall helfen können, eine Behauptung nicht – harishr

+0

Verwendung fließend Behauptungen ... – harishr

+0

nicht fließend-Behauptungen verwenden ... das tun, was die Antwort unten sagt! – nashwan

Antwort

11

Sie können ITestOutputHelper verwenden, um eine Ausgabe in die Testergebnisansicht zu schreiben. Lass es einfach von xUnit in deinen Konstruktor einfügen.

using Xunit; 
using Xunit.Abstractions; 
namespace xUnitTestOutput 
{ 
    public class OutputTests 
    { 
     private readonly ITestOutputHelper _output; 
     public OutputTests(ITestOutputHelper output) 
     { 
      _output = output; 
     } 
     [Fact] 
     public void FirstOutputTest() 
     { 
      _output.WriteLine("This is output from the test!"); 
     } 
    } 
} 
+1

Während dies theoretisch die Frage beantworten könnte, [wäre es vorzuziehen] (// meta.stackoverflow.com/q/8259), die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. – SuperBiasedMan

+0

Sie haben beide absolut Recht. Bearbeitet! –

+1

Das hat mich gerade gerettet. Es ist wirklich eine Schande, dass es nicht mehr Stimmen hat und nicht als die richtige Antwort akzeptiert wurde. – cgTag