cucumber - 即使我的给定陈述是错误的,我的 cucumber 场景仍在继续

标签 cucumber bdd calabash

我有以下情况:

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/

相关文章:

selenium - cucumber 和 capybara ,单击非链接或按钮元素

testing - 在一个 Given-When-Then 语句中列出一组的所有部分,还是分解为单独的规范?

ios - Calabash-ios - 如何设置位置?

ruby-on-rails - 使用 Cucumber 测试场景的正确方法 (rails 2.3.8)

cucumber - Cucumber 中的可重用/通用示例表

java - jbehave 核心发行版和 Web 发行版之间有什么区别?

javascript - 使用 Mocha : app. 日志测试 flatiron cli 应用程序未定义?

docker - android.test未安装。原因: 'Aborted '

java - 如何在 Windows 8 中安装 calabash for android?

java - cucumber .runtime.CucumberException : Failed to instantiate class stepDefinitions when add cookies when init browser