第75章 Mortgages サンプルプロジェクトを使用したテストシナリオの作成

本章では、テストシナリオデザイナーを使用して、Business Central に同梱されているサンプルの Mortgages プロジェクトからテストシナリオを作成して実行する方法を説明します。本章のテストシナリオの例は、Mortgages プロジェクトからの Pricing loans のガイド付きデシジョンテーブルに基づいています。

手順

  1. Business Central にログインし、MenuDesignProjects の順にクリックし、Mortgages をクリックします。
  2. プロジェクトが Projects に表示されていない場合は、MySpace から Try SamplesMortgagesOK の順にクリックします。

    アセットのウィンドウが表示されます。

  3. Add AssetTest Scenario の順にクリックします。
  4. Test Scenario の名前として、scenario_pricing_loans を入力し、Package ドロップダウンリストから、デフォルトの mortgages.mortgages パッケージを選択します。

    選択するパッケージには、必要なルールアセットがすべて含まれている必要があります。

  5. Source type として RULE を選択します。
  6. Ok をクリックして、テストシナリオデザイナーでテストシナリオを作成して開きます。
  7. Project Explorer を展開して以下を確認します。

    • ApplicantBankruptcyIncomeSource、および LoanApplication データオブジェクトが存在する。
    • Pricing loans ガイド付きのデシジョンテーブルが存在する。
    • 新しいテストシナリオが Test Scenario に表示されていることを確認する。
  8. データオブジェクトがすべて配置されていることを確認してから、テストシナリオデザイナーの Model タブに戻り、利用可能なデータオブジェクトのシナリオに、GIVEN データと EXPECT データを定義します。

    図75.1 空のテストシナリオデザイナー

    test scenarios blank preview editor
  9. GIVEN 列の詳細を定義します。

    1. GIVEN 列ヘッダーにある INSTANCE 1 という名前のセルをクリックします。
    2. Test Tools パネルから、LoanApplication データオブジェクトを選択します。
    3. Insert Data Object をクリックします。
  10. データオブジェクトのプロパティーを作成するには、必要に応じてプロパティーヘッダーセルを右クリックして、Insert column right または Insert column left を選択します。この例では、GIVEN 列の下に。プロパティーセルをさらに 2 つ作成する必要があります。
  11. 最初のプロパティーヘッダーセルを選択します。

    1. Test Tools パネルから、LoanApplication データオブジェクトを選択して展開します。
    2. amount をクリックします。
    3. Insert Data Object をクリックして、データオブジェクトフィールドをプロパティーヘッダーセルにマッピングします。
  12. 2 番目のプロパティーヘッダーセルを選択します。

    1. Test Tools パネルから、LoanApplication データオブジェクトを選択して展開します。
    2. deposit をクリックします。
    3. Insert Data Object をクリックします。
  13. 3 番目のプロパティーヘッダーセルを選択します。

    1. Test Tools パネルから、LoanApplication データオブジェクトを選択して展開します。
    2. lengthYears をクリックします。
    3. Insert Data Object をクリックします。
  14. LoanApplication ヘッダーセルを右クリックし、Insert column right を選択します。右側に新しい GIVEN 列が作成されます。
  15. 新しいヘッダーセルを選択します。

    1. Test Tools パネルから、IncomeSource データオブジェクトを選択します。
    2. Insert Data Object をクリックして、データオブジェクトフィールドをヘッダーセルにマッピングします。
  16. IncomeSource の下のプロパティーヘッダーセルをクリックします。

    1. Test Tools パネルから、IncomeSource データオブジェクトを選択して展開します。
    2. type をクリックします。
    3. Insert Data Object をクリックして、データオブジェクトフィールドをプロパティーヘッダーセルにマッピングします。

      GIVEN 列セルがすべて定義されました。

  17. 次に EXPECT 列の詳細を定義します。

    1. EXPECT 列ヘッダーにある INSTANCE 2 という名前のセルをクリックします。
    2. Test Tools パネルから、LoanApplication データオブジェクトを選択します。
    3. Insert Data Object をクリックします。
  18. データオブジェクトのプロパティーを作成するには、必要に応じてプロパティーヘッダーセルを右クリックして、Insert column right または Insert column left を選択します。EXPECT 列の下に、プロパティーセルをさらに 2 つ作成します。
  19. 最初のプロパティーヘッダーセルを選択します。

    1. Test Tools パネルから、LoanApplication データオブジェクトを選択して展開します。
    2. Approved をクリックします。
    3. Insert Data Object をクリックして、データオブジェクトフィールドをプロパティーヘッダーセルにマッピングします。
  20. 2 番目のプロパティーヘッダーセルを選択します。

    1. Test Tools パネルから、LoanApplication データオブジェクトを選択して展開します。
    2. insuranceCost をクリックします。
    3. Insert Data Object をクリックして、データオブジェクトフィールドをプロパティーヘッダーセルにマッピングします。
  21. 3 番目のプロパティーヘッダーセルを選択します。

    1. Test Tools パネルから、LoanApplication データオブジェクトを選択して展開します。
    2. approvedRate をクリックします。
    3. Insert Data Object をクリックして、データオブジェクトフィールドをプロパティーヘッダーセルにマッピングします。
  22. テストシナリオを定義するには、1 行目に以下のデータを入力します。

    • GIVEN 列の値として、Scenario Description には Row 1 test scenarioamount には 150000deposit には 19000lengthYears には 30type には Asset を入力します。
    • EXPECT 列の値として、approved には trueinsuranceCost には 0approvedRate には 2 を入力します。
  23. 次に 2 番目の行に、以下のデータを入力します。

    • GIVEN 列の値として、Scenario Description には Row 2 test scenarioamount には 100002deposit には 2999lengthYears には 20type には Job を入力します。
    • EXPECT 列の値として、approved には trueinsuranceCost には 10approvedRate には 6 を入力します。
  24. シナリオに対して、GIVENEXPECT、その他のデータをすべて定義したら、テストシナリオデザイナーで Save をクリックして、設定した内容を保存します。
  25. 右上隅の Run Test をクリックして .scesim ファイルを実行します。

    テスト結果は、Test Report パネルに表示されます。View Alerts をクリックして、Alerts セクションからメッセージを表示します。テストに失敗した場合は、ウィンドウの下部にある Alerts セクションのメッセージを参照し、シナリオの全コンポーネントをレビューして修正してから、シナリオが合格するまでシナリオの検証を再度行います。

  26. テストシナリオデザイナーで Save をクリックして必要な変更をすべて加えてから、作業を保存します。