我有以下情况:
Scenario: Open the menu
Given I am on the Home Screen
Then I touch the menu button
如果我在主屏幕上执行此场景,一切都会按预期进行。但是,如果在我不在主屏幕上时执行此场景,则“假设我在主屏幕上”指令将返回 true,即使它不是 true,并且该场景的其余部分将继续执行(最终场景失败,因为我实际上不在主屏幕上)。
我找不到“假设我在主屏幕上”指令通过的原因,即使它返回 false。
我正在尝试找到一种仅在给定指令通过时才执行一系列步骤的方法。这是正确的方法吗?
最佳答案
来自Cucumber wik我:
Failed steps
When a Step Definition’s Proc is executed and raises an error, the step is marked as red. What you return from a Step Definition has no significance what so ever. Returning nil or false will not cause a step definition to fail.
在步骤定义中返回 false 是不够的。如果主屏幕未显示,您需要引发错误。
关于cucumber - 即使我的给定陈述是错误的,我的 cucumber 场景仍在继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17300762/