Raport NUnit nie oznacza kompilacji jako błędu

Dec 04 2020

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 SomeOtherProcessusunę 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

1 sumitani Dec 11 2020 at 04:31

Wtyczka ustawiła wynik na, UNSTABLEponieważ opcja domyślnie failedTestsFailBuild jest ustawiona na false.

Można kontrolować zachowanie obowiązuje od NUnit, wyznaczając failedTestsFailBuildna 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.