Raport NUnit nie oznacza kompilacji jako błędu
W ramach mojej freestyle Jenkins-job wykonuję testy jednostkowe za pomocą kroku „wykonaj polecenie wsadowe systemu Windows”:
call "C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" MyAssembly.dll
call SomeOtherProcess
Ponieważ są testy, które kończą się niepowodzeniem, spodziewałem się, że kompilacja również się nie powiedzie. Jednak etap publikowania testów dla NUnit oznacza, że kompilacja jest niestabilna:
Build step 'Publish NUnit test result report' changed build result to UNSTABLE
Jeśli SomeOtherProcess
usunę wiersz -line z mojego skryptu wsadowego, wszystko działa dobrze, a błędy generowane przez nunit są zgłaszane jako błędy w procesie kompilacji.
Czytałem podobny problem dla JUnit-test-reporter ( wtyczka Jenkins JUnit zgłasza kompilację jako niestabilną, nawet jeśli test się nie powiedzie ). Oczywiście ten reporter nawet nie popiera niepowodzenia kompilacji. Nie jestem pewien, czy to samo dotyczy NUnit-reportera.
Odpowiedzi
Wtyczka ustawiła wynik na, UNSTABLE
ponieważ opcja domyślnie failedTestsFailBuild jest ustawiona na false
.
Można kontrolować zachowanie obowiązuje od NUnit, wyznaczając failedTestsFailBuild
na true
. Podczas wywoływania z potoku skryptowego lub deklaratywnego.
Problem polega na tym, że GUI nie odzwierciedla wszystkich opcji dostępnych dla tej wtyczki. Jest otwarty PR, aby włączyć tę opcję do potoku freestyle, możesz zagłosować lub zapytać o status tego PR.
Aby zmienić się w błąd, musisz złapać niestabilny wynik i ustawić go na niepowodzenie za pomocą wtyczki lub potoku skryptowego lub deklaratywnego.