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
Kamilski81 20 październik 2012, 01:40

2 odpowiedzi

Najlepsza odpowiedź

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 $?

4
hyde 21 październik 2012, 19:46

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.

4
Matt Smith 26 listopad 2013, 23:56