Gherkinテストの構文

Gherkinテストを作成する際には、特定の構造と構文を使用して、Gherkinの規則に従います。

注: 編集時に、構文または論理的エラーがある行の隣にXの文字が赤で表示されます。

フィーチャーセクション

フィーチャーはGherkinテストの目的と目標を定義します。

  • フィーチャー行は次のキーワードから始まります: Feature:

  • フィーチャーには、任意の数のシナリオが含まれます。

  • 最初のシナリオの前には、任意のテキストを入力します。テキストでは、関連するユーザー、フィーチャーの説明、およびそのユーザーにとっての重要性について記述します。

例:

Feature: Refund an item.

販売員は客が購入した商品に対して返金できる必要があります。

これは法律で義務付けられていると同時に、顧客の満足度を維持するためにも不可欠です。

 

Feature: Buying items in shopping cart, single user.

トップに戻る

バックグラウンドセクション

各シナリオの前にバックグラウンドを実行します。バックグラウンドは、フィーチャー内のすべてのシナリオに対する1つの設定セットまたは1つのコンテキストを定義します。

  • バックグラウンドセクションは次のキーワードから始まります: Background:

  • Backgroundにはステップを含めることができます (GivenWhen、およびThen)。

例:

Background:

Given: payment security system is up

トップに戻る

シナリオセクション

シナリオは、ユーザーの操作とアプリケーションの反応ついて記述します。

  • シナリオ行は次のキーワードから始まります: Scenario:

  • フィーチャーには多数のシナリオを含めることができます。

  • すべてのシナリオにはステップが含まれています。これらはGherkin構文では注釈と呼ばれます。これらのステップにより、テスト実行に必要な動作の内容を確認できます。それぞれのシナリオには、各タイプの多数のステップが含まれることがあります。

  • ステップは、GivenWhenThenから始まります。各シナリオには複数のステップが含まれることがあります。

    Givenステートメント

    Givenステップは前提条件です。

    Whenステートメント

    Whenステップは、ユーザーが実行しているアクションを記述します。

    Thenステートメント

    Thenステップは、実行されるアクションの期待される結果を記述します。

例:

Scenario: Julio buys items in his cart

Given a customer named "Julio Brown"

Given I am logged in as Julio

Given I have at least one item in cart

When I try to buy items in my cart

Then I should be asked for my payment method

トップに戻る

シナリオアウトライン

シナリオアウトラインは、Examplesセクションの各行に対して1回ずつ実行されます。シナリオアウトラインを使用して、Gherkinテストをパラメーター化することができます。

  • シナリオと同様、シナリオアウトラインには、GivenWhenThenステップが含まれるのが普通です。

  • GivenWhenThenステップにはプレースホルダー (変数) が含まれ、<記号と>記号の間に名前が記述されます。

  • Examples:セクションには、シナリオアウトラインが実行されるときに使用されるプレースホルダーの値が含まれます。

例:

Scenario Outline: Many users buy items in their carts.

Given a customer named "<customer>"

Given I am logged in as "<customer>"

Given I have at least one item in cart

When I try to buy items in my cart

Then I confirm my payment method "<payment>" and proceed to checkout

 

例:

| customer | payment |

| Jane Doe | Paypal |

| Jorge Rodriguez | VISA |

| Sally Dunn | VISA |

| Pierre Bisset | American Express |

| Masayoshi Horita | Cash |

トップに戻る