0 / 0
資料の 英語版 に戻る
MettleCIによる DataStageフローのテスト
最終更新: 2024年12月09日
MettleCIによる DataStageフローのユニットテスト

DataStageテストケースは、データファイルを使用してDataStageフローの入力と期待される出力を定義する設計時アセットです。

テストケースは、入力データファイル、出力データファイル、テスト仕様で構成される。

テストケースの作成

フローのテストケースを作成するには、DataStageデザインキャンバスのツールバーにあるフラスコ型のTest casesアイコンをクリックします。 プロジェクトのアセットタブから、New asset + > Create reusableDataStagecomponent > Test caseをクリックしてテストケースを作成することもできます。

スタブリンクとして使用する入力リンクと出力リンクを指定する。 テストデータは入力リンクに注入され、出力リンクからのデータは期待される出力と比較される。 また、テストが独自に値を指定するパラメータやパラメータセットの名前を指定することもできます。

テストケースを作成すると、DataStageはフロー内のソースリンクとターゲットリンクごとに空のテストデータファイルを作成します。 DataStageは、各テストデータファイルとフロー内の全パラメータへの参照を含むテスト仕様書も作成します。 テストケースの仕様はJSONファイルである。 次の例を参照してください。
{   …
    "given": [
        { # Inject this test data file into stageA.linkA
            "path": "fileCustomers.csv",
            "stage": "sfCustomers",
            "link": "Customers" 
        },
        { # Inject this test data file into stageB.linkB
            "path": "fileOrders.csv",
            "stage": "sfOrders",
            "link": "Orders"
        }
    ],
    "when": { 
        # Execute the test case with these options and hardcoded parameter values      
        #An internally-generated reference to the flow with which this test is associated
        "data_intg_flow_ref": "3023970f-ba2dfb02bd3a",  
        "parameters": {
            "DSJobStartDate": "2012-01-15"
            "DSJobStartTime": "11:05:01"
            "paramStartKey": "100"
        }
    },
    "then": [
        { # Expect flow output on stageX.linkX to look like this test data file
            "path": "ODBC_customers.csv",
            "stage": "ODBC_customer",
            "link": "customer_out"
        },
        { # Expect flow output on stageY.linkY to look like this test data file
            "path": "ODBC_orders.csv",
            "stage": "ODBC_order",
            "link": "order_out"
        }
    ],
}
仕様の詳細については、ユニットテスト仕様書フォーマットに関する MettleCIのドキュメントを参照してください。

テストケースの編集

Test cases(テストケース)をクリックして、仕様、テストデータ、メタデータを編集します。 Settings(設定)」をクリックして、スケジューリングや記録の保存など、テストの設定を指定します。

テストケースの実行

テストケースを開き、特定のテストケースの実行アイコンをクリックして実行する。 フロー内のすべての入力データは、実行中に入力されたテストデータに置き換えられます。 出力リンクのデータは、出力テストのデータと比較される。 実際の出力が期待される出力と異なる場合、テストは失敗し、差分レポートが生成される。 特定のテストの結果を表示するには、Test cases を開き、テストのタイムスタンプをクリックします。

ユニットテストの詳細については、MettleCIの ドキュメントを参照してください。