きゅうり-シナリオ
Scenarioコアガーキン構造の1つです。すべてのシナリオは、キーワード「シナリオ:」(またはローカライズされたもの)で始まり、オプションのシナリオタイトルが続きます。各機能には1つ以上のシナリオを含めることができ、すべてのシナリオは1つ以上のステップで構成されます。シナリオの非常に単純な例は次のとおりです。
Scenario −ヘルプ機能を確認します。
特定のユーザーがFacebookに移動します。
ユーザーが[ヘルプ]をクリックすると、[ヘルプ]ページが開きます。
テストシナリオを複数回実行する必要がある場合を考えてみます。ログイン機能がすべてのタイプのサブスクリプション所有者に対して機能していることを確認する必要があるとします。これには、ログイン機能シナリオを複数回実行する必要があります。コードを再実行するために同じ手順をコピーして貼り付けるのは賢明な考えではないようです。このために、Gherkinはシナリオの概要であるもう1つの構造を提供します。
シナリオの概要はシナリオの構造に似ています。唯一の違いは、複数の入力の提供です。次の例でわかるように、テストケースは同じままであり、繰り返すことはできません。下部には、変数「ユーザー名」と「パスワード」に複数の入力値があります。実際のテストの実行中に、Cucumberは変数を指定された入力値に置き換え、テストを実行します。pass-1が実行されると、テストは別の入力値を使用して2回目の反復で再実行されます。このような変数またはプレースホルダーは、ガーキンステートメントで言及しながら「<>」で表すことができます。
例
Scenario Outline−ソーシャルネットワーキングサイトのログイン機能。指定されたユーザーはFacebookに移動します。
ユーザーが「<username>」としてユーザー名を使用し、「<password>」としてパスワードを使用してログインすると、ログインは成功するはずです。
| username | password |
| user1 | password1 |
| user2 | password2 |
キュウリのシナリオをスマートに定義するためのヒントとコツがいくつかあります。
読者に混乱を与えないように、各ステップを明確に定義する必要があります。
テストシナリオを繰り返さないでください。必要に応じて、シナリオの概要を使用して繰り返しを実装してください。
複数のシナリオおよびシナリオの概要内で使用できるように、テストステップを開発します。
可能な限り、各ステップを完全に独立させてください。例:「ユーザーがログインしている場合」。これは2つのステップに分けることができます
- ユーザーがユーザー名を入力するとします。
- ログインをクリックします。