我在Rails应用程序上有jRuby并进行了一些黄瓜测试。
问题是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服务器使用的正确状态代码退出。
答案 0 :(得分:0)
在我们的案例中,我们意识到当我们创建没有正确退出的后台进程时会发生这种锁定。我们修复此问题,将system()
调用替换为spawn()
次调用,并在at_exit挂钩中终止所有子进程。
答案 1 :(得分:0)
我意识到这是一篇非常老的文章,但是如果有人偶然发现,请按照以下说明进行操作:
https://github.com/cucumber/cucumber-js/blob/master/docs/cli.md#exiting
如果您在黄瓜命令之后添加--exit
,则在测试完成后黄瓜将退出。这至少对我有用。