Mój test ogórka działa dobrze w wierszu poleceń, ale kiedy uruchamiam je w ciągłej integracji Jenkins/Hudson, otrzymuję następujące informacje, ale nie jestem pewien, jak to naprawić:
11 scenarios (3 skipped, 3 pending, 5 passed)
78 steps (51 skipped, 3 pending, 24 passed)
0m3.238s
Build step 'Execute shell' marked build as failure
Recording test results
Failed to send e-mail to kamilski81 because no e-mail address is known, and no default e-mail domain is configured
Failed to send e-mail to i.wooten because no e-mail address is known, and no default e-mail domain is configured
Failed to send e-mail to scott.j.rodgers because no e-mail address is known, and no default e-mail domain is configured
Sending e-mails to: dev@sc.com
Finished: FAILURE
Moje ostatnie linijki moich skryptów:
cucumber
Poradzono mi, abym dodał „wyjście 0”, ale to łamie moje raporty Junit, więc raportowanie jest nieprawidłowe.
2 odpowiedzi
Myślę, że ogórek daje niezerowy kod zakończenia procesu albo z powodu pominięcia, albo z powodu oczekujących testów. Postaraj się, aby nie uruchamiał żadnych pominiętych, potem żadnych oczekujących, potem żadnych pominiętych lub oczekujących testów i zobacz, jakie kody wyjścia daje. Aby zobaczyć kod wyjścia (w systemie Unix), uruchom go za pomocą czegoś takiego:
cucumber ...args to select tests... ; echo $?
Flaga ogórek --strict powoduje, że ogórek zwraca kod wyjścia 1 (np. niepowodzenie), jeśli istnieją oczekujące scenariusze. Jenkins (lub dowolny CI) nie powiedzie się, jeśli istnieje niezerowy kod wyjścia.
Sprawdziłbym, czy masz w swoim projekcie plik cucumber.yml, ponieważ prawdopodobnie tam ukrywa się twoje --strict.
Podobne pytania
Nowe pytania
jenkins
Jenkins to narzędzie do ciągłej integracji typu open source napisane w języku Java, które zawiera pakiety dla systemów Linux, Mac OS X, Windows, FreeBSD i OpenBSD. Projekt został rozwidlony z Hudson.