我有jruby on rails应用程序和一些cucumber测试。
问题是cucumber features
在执行所有步骤后挂起,直到我按下ctrl+c。有趣的是,只有当所有测试都通过时才会发生。
10 scenarios (10 passed)
116 steps (116 passed)
13m59.058s
-> hangs here
我试过添加global
at_exit
钩子,它正在执行,而命令将冻结。这是我的
bundle list
https://gist.github.com/37f2448055071bbbc636我的临时解决方案是这样添加hook
at_exit do
exit! !($!.nil? || $!.is_a?(SystemExit) && $!.success?)
end
某些连接可能会保持打开状态、数据未清理等,但它至少会以CI服务器使用的正确状态代码退出。
最佳答案
在我们的例子中,我们意识到这种锁定发生在我们创建的后台进程没有正确退出时。我们修复了将system()
调用替换为spawn()
调用,并在at_exit钩子中杀死任何子进程的问题。
关于ruby-on-rails - 所有方案通过后 cucumber 挂起,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9062990/