2

我有以下情况:

Scenario: Open the menu
  Given I am on the Home Screen
  Then I touch the menu button

如果我在主屏幕上执行此场景,一切都会按预期工作。但是,如果在我不在主屏幕上时执行此场景,则“鉴于我在主屏幕上”指令会返回 true,即使它不为 true,并且场景的其余部分会继续执行(最终场景失败,因为我实际上不在主屏幕上)。

我找不到“鉴于我在主屏幕上”指令通过的原因,即使它返回错误。

我试图找到一种方法来仅在给定指令通过时执行一系列步骤。这是正确的方法吗?

4

1 回答 1

4

黄瓜维基我:

失败的步骤

当步骤定义的 Proc 被执行并引发错误时,该步骤被标记为红色。您从步骤定义中返回的内容没有任何意义。返回 nil 或 false 不会导致步骤定义失败。

在步骤定义中返回 false 是不够的。如果未显示主屏幕,则需要引发错误。

于 2013-06-25T19:08:50.890 回答