ここで提案やベストプラクティスを探しています。
異なる前置詞を使用して、2 つの異なるステップに同じ正規表現/フレーズを与えたい場合があります。私がよく目にするケースは、両方Given
とThen
ステップで意味のあるフレーズです。
Given
アクションを実行するステップに使用されます (テスト状態をセットアップするため)。またThen
、状態を確認するステップに使用されますが、アクションは実行されません。多くの場合、同じ言い回しが両方に適していることがわかります。そのようなフレーズの例は、「ログインしています」です。
ここに不自然なシナリオがあります
Scenario: Login is saved between sessions.
Given I am logged in
When I exit the application
And I start the application
Then I am logged in
もちろん、キュウリはステップ述語を区別しないため、これはステップ定義では機能しません。
衝突するすべてのステップに「verify」をThen
追加したり、重複したすべてのGiven
ステップに「that」を追加したりしました。しかし、何も正しくありません。
Given that I am logged in.
...
Then verify I am logged in.
もちろん機能しますが、ほとんどのステップで同じ「拡張述語」を必要としない何かが欠けていると感じています。