注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Pipeline Builderにおける単体テスト

Pipeline Builderで単体テストを行うことにより、パイプラインの信頼性を向上させます。これらのテストは、デバッグ、変更の検出、そして最終的には高品質なパイプラインの保証に役立つツールです。

単体テストとは?

単体テストの説明図。

コードの単体テストと同様に、Pipeline Builderにおける単体テストは、定義された入力でテストした際にパイプラインロジックが期待通りの出力を生成するかどうかを確認する方法です。単体テストは以下で構成されます:

  • テスト入力
  • トランスフォームノード
  • 期待される出力

テスト入力と期待される出力は手動で入力されたテーブルで作成されますが、コピーアンドペーストでより速く作成することもできます。テストしたいトランスフォームノードはメインのPipeline Builderワークスペースで選択できます。単体テストの作成方法については以下を参照してください。

単体テストを作成する

  1. メインワークスペースの右側パネルで、Unit testsアイコンを選択します。

    単体テストサイドバー。

  2. 画面中央のCreate new testまたは右上のNew testを選択します。これにより、ワークスペースの上部にダイアログが表示され、関連するノードを選択するように促されます。

    単体テスト初期選択画面。

  3. すべての関連ノードを選択したら、Startを選択します。

    単体テストに含める選択されたノード。

    これにより、単体テスト設定ウィンドウが表示されます。

    • 黄色のノードは、以前に選択されたトランスフォームノードに対応します。
    • 緑のノードは、テスト入力に対応します。
    • 青のノードは、テスト出力に対応します。

    すべての単体テストにおいて、入力データと出力データを記入する必要があります。

    単体テストの初期編集画面。

  4. ノードをダブルクリックして、入力データまたは期待される出力データを記入します。これにより、以下のページに移動します:

    単体テストでの入力または出力データ追加ページ。

    左側で以下を選択します:

    • Reuse schema: 接続されたテーブルのスキーマに一致するように出力スキーマを設定します。
    • From dataset: 既存のデータセットからスキーマを使用します。
    • Add column: データスキーマを手動で入力します。

    スキーマが設定されたら、中央のテーブルで行を記入し、Applyを選択してからBack to graphを選択します。

    単体テストでの入力または出力データ追加ページ。

  5. すべての入力データセットおよび出力データセットについてこのステップを繰り返します。

完了すると、右側のパネルに手動で入力されたデータが表示され、各テーブルの行数と列数が詳細に表示されます。

入力と出力が記入された単体テスト。

単体テストを実行する

各単体テストに対して、右上にあるRun testを選択するオプションがあります。

単体テストのRun testボタン。

テストが実行されると、テスト結果が下に表示されます。正確なテーブル結果を表示するには、View test resultを選択します。

失敗したテスト結果と成功したテスト結果。

これにより、画面の下部に期待される出力と受け取った出力のビューが表示されます。

画面下部に表示された期待される出力と受け取った出力。

単体テストの編集と表示が完了したら、右上のClose unit testを選択します。

単体テストを削除する

単体テストを削除するには、それを選択し、右上の3つのドットを使用してオプションメニューを開きます。Delete test caseを選択します。

単体テストの削除方法。

既存の単体テストを編集する

Unit testsアイコンを選択すると、パイプライン内の単体テストの一覧が表示されます。編集する単体テストを選択し、鉛筆アイコンを選択します。

パイプライン内の単体テストの一覧。

単体テストの選択されたトランスフォームを変更するには、Re-selectボタンを使用します。これにより、選択ページに戻ります。

単体テストの再選択プロセス。

単体テストに含まれているノード間にノードを追加した場合、追加されたノードは既存の単体テストに自動的に表示されます。

テスト入力や期待される出力の変更は、グラフビューでノードを直接ダブルクリックするか、右側パネルの鉛筆アイコンを選択します。

単体テストでの入力と出力の編集ページ。

単体テストの編集が完了したら、右上のClose unit testを選択してメイングラフに戻ります。

提案における単体テスト

単体テストへの変更は、左側パネルのUnit Testタブにある提案ページにも表示されます。

提案ページの単体テスト。

提案ページでは、Unit tests succeededセクションが表示されます。Pipeline Builderは提案をマージする前に単体テストが成功することを確認します。

提案ページの単体テスト。

ストリーミングにおける単体テスト

ストリーミング単体テストの場合、テスト入力データには各行に追加のorderingロング型値が必要です。

提案ページの単体テスト。

ordering列は、ストリーミング単体テストに必要なメタデータ列であり、行がエミットされるグローバルな順序を制御しますが、テストデータの実際の内容やスキーマには影響を与えません。ordering値は、テストデータソース内の各行ごとに一意のロング型値である必要があり、行は最も低いordering値から最も高いordering値の順にソースからエミットされます。

orderingは、特に結合や結合を行う際に、ストリーミングトランスフォームから決定論的で望ましい出力を得るために重要です。