2015-02-26 15 views
5

Qualcuno sa come aggiungere ulteriori informazioni alla console di output quando si eseguono i test xUnit?xunit aggiungi informazioni all'output

Sto usando testdriven.net, ma non penso che sia la mia risposta.

Sto utilizzando un IUseFixture (in realtà IClassFixture da 2,0) per mantenere i dati tra i test. Quando un test fallisce, voglio produrre alcuni di questi dati contestuali insieme all'errore e alla traccia dello stack che solitamente ottieni.

Qualcuno sa di un gancio che posso usare?

+0

uso FluentAssertions, che possono aiutare a aggiungere più informazioni nel caso in cui un asserzioni non riesce – harishr

+0

uso fluente-affermazioni ... – harishr

+0

non uso fluente-asserzioni ... fare quello che dice la risposta qui sotto! – nashwan

risposta

11

È possibile utilizzare ITestOutputHelper per scrivere qualsiasi output nella vista dei risultati del test. Lascia che xUnit lo inietti nel tuo costruttore.

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

Sebbene ciò possa teoricamente rispondere alla domanda, [sarebbe preferibile] (// meta.stackoverflow.com/q/8259) includere qui le parti essenziali della risposta e fornire il link per riferimento. – SuperBiasedMan

+0

Entrambi avete assolutamente ragione. Modificato! –

+1

Questo mi ha appena salvato. È un vero peccato che non abbia più voti e che non sia stata accettata come risposta corretta. – cgTag

Problemi correlati