3.2.2. テストシナリオへの EXPECT 結果の追加
EXPECT セクションには、GIVEN に入力したファクトに基づいて想定される結果を定義します。つまり、入力ファクトを GIVEN (指定) すると、その他のファクトが有効であること、またはルール全体が有効であることを EXPECT (想定) します。たとえば、このシナリオで、申請者が 21 歳未満の場合に 想定される 結果は、(申請者の年齢が基準を満たさないため) LoanApplication
の approved
が false
になるか、Underage
ルール全体が有効になります。
前提条件
テストシナリオに必要なデータオブジェクトがすべて作成、またはインポートされていて、テストシナリオデザイナーの Data Objects タブにリストされています。
手順
テストシナリオデザイナーで EXPECT をクリックし、利用可能なファクトが追加されている New expectations ウィンドウを開きます。
図3.5 テストシナリオへの EXPECT 結果の追加
リストには以下のオプションが含まれます。表示されるオプションは、GIVEN セクションのデータや、テストシナリオデザイナーの Data Objects タブで利用可能なデータオブジェクトによって異なります。
- Rule: プロジェクトに、GIVEN に指定した内容に対して有効になることが想定される特定のルールを指定します。ルールの名前を入力するか、ルールリストから選択します。次に、テストシナリオデザイナーで、ルールが有効になるべき回数を指定します。
- Fact value: ファクトを選択し、GIVEN セクションに定義したファクトに対して有効になることが想定される値を定義します。ファクトは、GIVEN の入力に対して事前に定義した Fact name でリストされます。
- Any fact that matches: GIVEN に指定した内容に対して、指定した値を持つファクトが最低 1 つ存在するかどうかの妥当性を確認します。
-
(Fact value:
application
などの) 期待される結果のファクトを選択し、Add または OK を選択します。 テストシナリオデザイナーでファクトをクリックし、追加または修正するフィールドを選択します。
図3.6 ファクトフィールドの修正
-
フィールド値に、GIVEN に指定した内容に対して、有効になると想定される値 (
approved
|equals
|false
など) を設定します。 - 続いて、シナリオに別の EXPECT 入力データを追加し、テストシナリオデザイナーで Save をクリックして、設定内容を保存します。
シナリオに GIVEN、EXPECT、その他のデータを定義して保存したら、右上の Run scenario をクリックしてこの
.scenario
ファイルを実行するか、(複数の場合は) Run all scenarios をクリックして、プロジェクトパッケージに保存したすべての.scenario
を実行します。Run scenario オプションでは、個々の.scenario
ファイルを保存する必要はありませんが、Run all scenarios オプションを使用する場合は、すべての.scenario
ファイルを保存する必要があります。テストに失敗したら、ウィンドウ下部の Alerts メッセージに記載されている問題に対応し、シナリオの全コンポーネントを見直し、エラーが表示されなくなるまで妥当性確認を行います。
- 変更がすべて終了したら、テストシナリオデザイナーで Save をクリックして、設定した内容を保存します。