ジョブに基づくテストケースの例
CIというプロジェクト内にjob_feature400というジョブが作成されます。ジョブの目的は、カリフォルニアに在住する顧客のリストを含む.csvファイルを読み取り、tMapコンポーネントを使用して、顧客をロサンゼルスのオレンジ郡出身の顧客とマッチングしてから、結果をMySQLデータベースにアップロードすることです。
処理を行う部分(tMap)を使用してtest_feature400というテストケースが作成され、開発者はあらゆるタイプの入力および出力ファイルをテスト、フィルタリング、マッピングできます。
生成されるスケルトンは、テストを作成するためにジョブで選択したコンポーネントによって異なります。
ここでのテストケースの目的は以下のとおりです。
-
入力データファイルの読み取り(tFileInputDelimitedコンポーネント)。
-
初期ジョブに基づく不変のコンポーネントセット(INPUT項目とOUTPUT項目)によるデータの変換。
-
出力データの(tFileOutputDelimitedコンポーネントへの)書き込み。
-
一時出力ファイル(tCreateTemporaryFileコンポーネント)と、定義が必要な参照ファイルとの比較(tFileCompareコンポーネントを使用)。
-
tAssertコンポーネントを使用したテスト実行ステータスの生成(成功の場合は[OK]、失敗の場合は[Fail])。
テストのインスタンスは必要に応じていくつでも追加できます。つまり、入力ファイルと参照ファイルを変えて同じテストを実行できます。
データセットが[Test Case] (テストケース)ビューで定義され、Testと呼ばれる特定のコンテキストグループが[Context] (コンテキスト)ビューで定義されたら、テストケースを実行する準備は完了です。データセットは、データをテストするための入力ファイルおよび参照ファイルとして定義するデータファイルで構成されています。
開発者がStudioでローカルにインテグレーションテストをデザインした後は、テストをビルドシステムのような継続的インテグレーションツールで自動化する必要があります。詳細は、ビルドとデプロイをご覧ください。