0

私も同様の質問をしましたが、言葉遣いが悪く、求めていた回答が得られませんでした。別の試みを次に示します。

したがって、Cucumber の Gherkin Given ステートメントがテスト ケースの前提条件に類似していることに感謝します。これらはユーザーの操作を伴うべきではないと考える人がいることに感謝しますが、この質問のために、私はその見解に同意しません.

以下に 3 つのシナリオを示します。

Scenario: Test a song can be played
Given I setup a new account and default user
When I add a "2nd" user
And the "2nd" user starts playing a song
Then I should see a song is playing

Scenario: Test a playing song being stopped (version A)
Given I setup a new account and default user
And I add a "2nd" user
And the "2nd" user starts playing a song
When the "2nd" user stops playing a song
Then I should see a song is not playing

Scenario: Test a playing song being stopped (version B)
Given a "2nd" user is playing a song
When the "2nd" user stops playing a song
Then I should see a song is not playing

したがって、ビジネス ユーザーの観点からは、上記のバージョン B がバージョン A よりも優れていることを理解しています。ただし、コードの再利用の観点から見ると、バージョン B では、最初のシナリオの大部分で使用されたコードを繰り返すために、Given ステートメントが必要になることは間違いありません。 ?

乾杯、

チャーリー

4

1 に答える 1

1

したがって、バージョン B が最適です。

与えられたステップ定義 (例: バージョン B) に、他の When ステップ定義 (例: 1 番目のシナリオ) でカバーされるステップで構成されるアクションがある場合、ステップ定義 (またはステップ定義ファイル全体で使用されている場合は他の場所) にプライベート メソッドを作成するだけです。 Given および When ステートメントは、必要に応じて呼び出すことができます。これにより、コードをコピーして貼り付ける必要がなくなります:-)

于 2014-01-14T12:54:45.253 に答える