Огурец зависает после того, как все сценарии прошли
У меня есть приложение jRuby on Rails с некоторыми тестами на огурец.
Проблема в том, что cucumber features
зависает после выполнения всех шагов, пока я не нажму ctrl + c. Интересно, что это происходит только в том случае, если все тесты пройдены.
10 scenarios (10 passed)
116 steps (116 passed)
13m59.058s
-> hangs here
Я пытался добавить глобальный at_exit
хук, это выполняется, а затем команда останавливается.
Вот мой bundle list
https://gist.github.com/37f2448055071bbbc636
Мое временное решение - добавить at_exit
крюк, как это
at_exit do
exit! !($!.nil? || $!.is_a?(SystemExit) && $!.success?)
end
Некоторые соединения могут быть оставлены открытыми, данные не очищены и т. Д., Но по крайней мере они завершатся с правильным кодом состояния, который используется CI-сервером.
1 ответ
Я понимаю, что это очень старый пост, но если кто-то наткнется на это, за:
https://github.com/cucumber/cucumber-js/blob/master/docs/cli.md
если вы добавите --exit
после вашей команды огурца огурец выйдет, когда тест будет завершен. По крайней мере, это сработало для меня.
В нашем случае мы поняли, что эта блокировка происходит, когда мы создали фоновые процессы, которые не были завершены должным образом. Мы исправили это заменить system()
звонки с spawn()
и уничтожение любых дочерних процессов в нашей ловушке at_exit.