2011-07-01 23 views
27

Każdy Assert pozwala zdefiniować error message, który zostanie wydrukowany w przypadku błędu potwierdzenia, ale czy mogę w jakiś sposób dostarczyć komunikat, który zostanie wyświetlony w przypadku pomyślnego uruchomienia testu?Określ komunikat wyjściowy dla pomyślnego przypadku testowego

+0

nie wiem, jak to osiągnąć, ale w Czy potrzebujesz tego? Istnieje punkt pokazujący śledzenie stosu błędów; co pomaga programistce w poprawieniu go. Nie widzę jednak punktu, w którym można wyświetlić niestandardowy komunikat o powodzeniu. –

+0

Dla niektórych przypadków testowych chcę śledzić te informacje podczas wykonywania testów przy użyciu systemu ciągłej integracji, który utrzymuje logi dla każdej kompilacji. Również gdy chcę zobaczyć informacje o uruchomieniu testu, mogę po prostu uruchomić testy i zobaczyć te informacje w konsoli, zamiast obsługiwać w punkcie przerwania lub używając niektórych wyników, takich jak logowanie lub System.Diagnostics.Debug – sll

Odpowiedz

22

Można użyć metody użytkowej Assert.Pass.

+0

Świetnie !!! Dzięki – sll

+3

Powoduje to generowanie wyjątku SuccessException, co kończy się niepowodzeniem testu. Na pewno to pokonuje cel? – Carl

+0

@Carl - z której wersji NUnit korzystasz? I który test biegacza? –

0

Powiedziałeś, że chcesz, aby ta informacja była używana przez ciągłe środowisko integracyjne. Prawdopodobnie twoje środowisko CI używa NUnit-console Runner?

Jeśli tak, zalecam korzystanie z wyjścia XML wygenerowanego podczas każdego uruchomienia testowego, a jego przykład można znaleźć pod numerem here.

Dane wyjściowe XML zawierają wyniki dla każdego testu. Nie powiedziałeś, z którego serwera CI korzystasz, ale powinno być proste zbudowanie kroku do procesu kompilacji, aby zaimportować ten plik XML i utworzyć go dla potrzebnych statystyk.

+1

Dokładnie to robię, używając wyjścia XML. Ale dodatkowo chcę mieć pewne wiadomości wraz z testem – sll

+0

Interesujące. Czy możesz podać mi przykład tego rodzaju wiadomości, która byłaby przydatna?Jeśli testy mijają, wiadomość prawdopodobnie zawsze byłaby taka sama ...? – razlebe

+1

Podążając za przykładem Byłoby wspaniale mieć coś podobnego - ..., ale także dla pomyślnych testów. – sll

32

wystarczy użyć Console.WriteLine("Your message here"); które będą kierowane do wyjścia NUnit więc można zobaczyć test przeszedł komunikatów

+0

thanx zrobiłeś mój dzień :) – zzzuperfly

+0

Wydaje się nie działać z wersją NUnit zintegrowaną z SharpDevelop. –

+0

Tylko dla aktualizacji ostatnich informacji ... teraz #develop pokazuje wyjście konsoli. :-) –

0

powinien obsługiwać NUnit.Framework.SuccessException i wydrukować wiadomość:

try 
{ 
    // assert 
    Assert.Pass(sOutput); 
} 
catch (SuccessException ex) 
{ 
    Console.WriteLine(ex.Message); 
    return; 
} 

W rezultacie należy uzyskać komunikat wyjściowy pod kliknięcie wyjście:

Test Output

Powiązane problemy