Calabash测试在测试运行很长时间的情况之间挂起,我预计如果任何条件没有达到,情况会超时。然而,这也没有发生,以便测试转移到下一个场景。
我是否可以在我的代码中实现一种方法来持续监控每个场景的运行时间,以便在需要比预期更长时间的情况下强制场景失败,然后下一个场景正常运行?
任何帮助高度赞赏!!
-mesh
答案 0 :(得分:3)
你可以使用around hook,这个会在10秒后超时:
Around do |scenario, block|
Timeout.timeout(10) do
block.call
end
end
答案 1 :(得分:1)
您可以使用此语法强制步骤失败
fail(msg = 'Error. Check log for details.', options = {:prefix => nil, :name => nil, :label => nil})
示例强>
fail(msg ="Failed due to timeout")
Given (/^I do this$/)do
do some...
sleep 10
fail(msg="failure message")
end