我有以下情况:
Scenario: Open the menu
Given I am on the Home Screen
Then I touch the menu button
如果我在主屏幕上执行此方案,一切都按预期工作。但是,如果在我不在主屏幕上的情况下执行此方案,则“给定我在主屏幕上”指令将返回true,即使它不是真的并且该方案的其余部分继续执行(并最终执行场景失败,因为我实际上不在主屏幕上)。
即使它返回false,我也找不到“给定我在主屏幕上”指令的原因。
我试图找到一种只有在Given指令通过时执行一系列步骤的方法。这是正确的方法吗?
答案 0 :(得分:4)
来自Cucumber wik i:
步骤失败
当执行Step Definition的Proc并引发错误时, 步骤标记为红色。从步骤定义返回的内容没有 什么是有意义的。返回nil或false将不会导致a 步骤定义失败。
在步骤定义中返回false是不够的。如果未显示主屏幕,则需要引发错误。