所有方案通过后黄瓜挂机

问题描述 投票:3回答:2

我有一个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.com37f2448055071bbbc636。

我的临时解决方案是增加 at_exit 这样勾

at_exit do 
  exit! !($!.nil? || $!.is_a?(SystemExit) && $!.success?)
end

一些连接可能没有打开,数据没有被清理等等,但它至少会以正确的状态码退出,CI服务器会使用这些状态码。

ruby-on-rails ruby cucumber jruby jrubyonrails
2个回答
0
投票

在我们的案例中,我们意识到,当我们创建的后台进程没有正确退出时,就会发生这种锁定。 我们修复了这个问题,将 system() 呼叫 spawn() 的子进程,并在at_exit钩子中杀死所有子进程。


0
投票

我意识到这是一个非常老的帖子,但如果有人偶然发现了这一点,请按。

https:/github.comcucumbercucumber-jsblobmasterdocscli.md#exiting

如果加上 --exit 在你的cucumber命令之后,cucumber会在测试结束后退出。至少我是这么做的。

© www.soinside.com 2019 - 2024. All rights reserved.