2016-10-24 11 views
0

私の質問は、Gherkinを複数の状態遷移で書くべきですか?このページ複数のWHENを使用した状態遷移によるガーキンの作成?

http://docs.behat.org/en/v2.5/guides/1.gherkin.html)それは言う:

whens: 
The purpose of When steps is to describe the key action the user performs 
    (or, using Robert C. Martin’s metaphor, the state transition). 

を...そして彼もWHENの複数の使用例を提供します。

したがって、テスト中に状態遷移を経るセレンテストをより速いキュウリテストに置き換える目的で、テスト中に2番目のWHENステートメントを使用して移行するか、WHENを1つしか使用しないでくださいその状態遷移の代わりにTHEN?

Given one thing 
    When I open my eyes 
    Then I see something 
    But I don't see something else 
    When I close my eyes 
    Then it is dark again 
    And I am asleep again 

答えて

1

は、一般的に言えば、このようなシナリオは、分割されなければならない - 1つのシナリオは、オープン>近くに移行し、逆に1つをチェックします。彼らはそのように脆くなく、失敗の場合にはより正確な情報を提供します。

ただし、UIを使用している場合、時間は常に重要な問題です。あなたがすぐに/簡単に開始状態を達成することができれば、それは問題ではなく、あなたは分割を行います。しばしばそうではなく、テストの実行速度とガーキンの保守性のどちらかを選択する必要があります。そのような状態遷移を過度に連鎖させないと、あなたのガーキンを保守しやすくすることができます。

最終的には、誘惑に耐えられない小さなものをすべて追加するほうがはるかに簡単なので、最終的には複雑すぎることに注意してください。そして、あなたが知っている次のことは、 "Szenariogrundriss"と言う前に、あなたの神オブジェクトのようなフランケンシュタインがチームメンバーによって全面的にコピーされることです。

+0

ありがとう、それは合理的な答えです。 – djangofan

関連する問題