2015-02-26 25 views
5

Czy ktoś wie, jak dodać dodatkowe informacje do konsoli wyjściowej podczas uruchamiania testów xUnit?xunit dodaj informacje do wyjścia

Korzystam z testdriven.net, ale nie sądzę, że to jest moja odpowiedź.

Używam IUseFixture (faktycznie IClassFixture od 2.0), aby zachować dane między testami. Kiedy test się nie powiedzie, chcę wypisać niektóre z tych danych kontekstowych wraz z niepowodzeniem i śledzeniem stosu, które zwykle otrzymujesz.

Czy ktoś wie o haczyku, którego mogę użyć?

+0

użytku FluentAssertions, które mogą pomóc w dodawaniu więcej informacji w przypadku, gdy twierdzenia nie – harishr

+0

użytku biegle-twierdzenia ... – harishr

+0

nie używaj płynnych-twierdzenia ... robić to, co poniżej odpowiedź mówi! – nashwan

Odpowiedz

11

Możesz użyć programu ITestOutputHelper do zapisania dowolnego wyniku w widoku wyników testu. Po prostu pozwól xUnit wstrzyknąć go do swojego konstruktora.

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

Chociaż może to teoretycznie odpowiedzieć na pytanie, [byłoby lepiej] (// meta.stackoverflow.com/q/8259), aby uwzględnić istotne części odpowiedzi tutaj, i podać link dla odniesienia. – SuperBiasedMan

+0

Oboje macie absolutną rację. Edytowane! –

+1

To właśnie mnie uratowało. To wstyd, że nie ma więcej głosów w górę i nie została przyjęta jako poprawna odpowiedź. – cgTag