我想在“After”方案挂钩中检索方案状态。我注意到.failed?方法不会将待处理步骤视为失败步骤。确定黄瓜方案是否有未决步骤
所以我怎样才能确定一个场景没有完全执行,因为它失败了,或者因为一些步骤没有被执行/定义。
我想在“After”方案挂钩中检索方案状态。我注意到.failed?方法不会将待处理步骤视为失败步骤。确定黄瓜方案是否有未决步骤
所以我怎样才能确定一个场景没有完全执行,因为它失败了,或者因为一些步骤没有被执行/定义。
您可以使用状态方法。状态的默认值为:skipped
,失败的为:failed
,传递的步骤为:passed
。所以,你可以写这样的事情:
do sth if step.status != :passed
另外,如果你使用它!step.passed?
做同样的事情,因为它仅适用于:passed
状态检查。
关于这个问题,你也可以看看这篇文章关于demoing你的功能规格给你的客户:http://multifaceted.io/2013/demo-feature-tests/
LiohAu,您可以使用“状态”的方法而不是单独的步骤。试试这个:在钩子中,添加
After do |scenario|
p scenario.status
end
这将给状态如下: 任何一步没有实现/定义,它会给你:未定义 方案失败(定义所有步骤时):失败 场景传递:通过
使用相同的钩子,它会为您提供场景大纲的状态,但对于每个示例行(因为对于每个示例行,这是个别场景)。因此,如果完全想要整个大纲的结果,则需要捕获所有示例行的结果并相应地计算最终结果。
希望这会有所帮助。
好的,但由于AfterStep挂钩没有被调用,我需要使用After场景钩和循环遍历所有的步骤吗?但我不知道当场景是概要时(接收到的场景参数没有“steps”方法),我该如何访问这些步骤 – LiohAu
当我尝试访问“steps”方法时,出现以下错误:private method'steps '要求#(NoMethodError) /Users/...features/support/hooks.rb:126:in'After' –
LiohAu
第二个链接已损坏。 – slm