我有jruby on rails应用程序和一些cucumber测试。
问题是cucumber features在执行所有步骤后挂起,直到我按下ctrl+c。有趣的是,只有当所有测试都通过时才会发生。

10 scenarios (10 passed)
116 steps (116 passed)
13m59.058s
-> hangs here

我试过添加globalat_exit钩子,它正在执行,而命令将冻结。
这是我的bundle listhttps://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/

10-16 00:05