2

次のシナリオがあります。

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

ホーム画面でこのシナリオを実行すると、すべてが期待どおりに機能します。ただし、ホーム画面にいないときにこのシナリオが実行された場合、「ホーム画面にいると仮定して」命令は true ではなくても true を返し、シナリオの残りの部分が引き続き実行されます (最終的には実際にはホーム画面にいないため、シナリオは失敗します)。

false が返されても、「ホーム画面にいる場合」の命令が成功する理由がわかりません。

指定された命令が成功した場合にのみ、一連のステップを実行する方法を見つけようとしています。それは正しい方法ですか?

4

1 に答える 1

4

Cucumber wik iから:

失敗した手順

ステップ定義の Proc が実行されてエラーが発生すると、そのステップは赤でマークされます。ステップ定義から返されるものは、これまで何の意味もありません。nil または false を返しても、ステップ定義は失敗しません。

ステップ定義で false を返すだけでは不十分です。ホーム画面が表示されていない場合は、エラーを発生させる必要があります。

于 2013-06-25T19:08:50.890 に答える