データ接続と統合Pipeline Builderデータが満たすべき条件ユニットテストの設定

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

Pipeline Builder のユニットテスト

ユニットテストを通じて、Pipeline Builder のパイプラインの信頼性を向上させます。ユニットテストは、デバッグや破壊的変更の検出に役立ち、最終的にパイプラインの品質を高めるための有用なツールです。

ユニットテストとは?

ユニットテストの説明図。

コードのユニットテストと同様に、Pipeline Builder のユニットテストは、事前に定義した入力でテストしたときに、パイプラインのロジックが期待される出力を生成することを確認する方法です。ユニットテストは、次の要素で構成されます。

  • テスト入力
  • データ加工ノード
  • 期待される出力

テスト入力と期待される出力は、手動で入力したテーブルで作成しますが、コピーして貼り付けると、より迅速に作成できます。テストするデータ加工ノードは、Pipeline Builder のメインワークスペースで選択できます。ユニットテストの作成について、詳しくはこちらの下記の説明を参照してください。

ユニットテストを作成する

  1. メインワークスペースの右側パネルで、ユニットテストアイコンを選択します。

    ユニットテストのサイドバー。

  2. 画面中央の新規テストを作成、または右上の新しいテストを選択します。ワークスペースの上部にダイアログが開き、対象のノードを選択するよう求められます。

    ユニットテストの初期選択画面。

  3. 対象のノードをすべて選択したら、編集開始を選択します。

    ユニットテストに含めるために選択したノード。

    ユニットテストの設定ウィンドウが開きます。

    • 黄色のノードは、先ほど選択したデータ加工ノードに対応します。
    • 緑色のノードは、テスト入力に対応します。
    • 青色のノードは、テスト出力に対応します。

    すべてのユニットテストで、入力データと出力データを入力する必要があります。

    ユニットテストの初期編集画面。

  4. ノードをダブルクリックして、入力データまたは期待される出力データを入力します。次のページが開きます。

    ユニットテストの入力データまたは出力データを追加するページ。

    左側で、次の項目を選択します。

    • スキーマを再利用: 出力スキーマを、接続されているテーブルのスキーマと一致するように設定します。
    • データセットから: 既存のデータセットのスキーマを使用します。
    • 列を追加: データスキーマを手動で入力します。

    スキーマを設定したら、中央のテーブルに行を入力し、適用、グラフに戻るの順に選択します。

    ユニットテストの入力データまたは出力データを追加するページ。

  5. すべての入力データセットと出力データセットに対して、この手順を繰り返します。

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

入力と出力が入力されたユニットテスト。

ユニットテストを実行する

各ユニットテストでは、右上のテストを実行を選択できます。

ユニットテストの「テストを実行」ボタン。

テストが実行されると、その下にテスト結果が表示されます。テーブルの結果を正確に確認するには、テスト結果を見るを選択します。

失敗したテスト結果と、その後に示された成功したテスト結果。

画面の下部に、出力の期待値と実際の値を表示するビューが開きます。

画面下部に表示された出力の期待値と実際の値。

ユニットテストの編集と閲覧が完了したら、右上のユニットテストを閉じるを選択できます。

ユニットテストを削除する

ユニットテストを削除するには、対象のテストを選択し、右上の3点アイコンからオプションメニューを開きます。テストケースを削除を選択します。

ユニットテストを削除する方法。

既存のユニットテストを編集する

ユニットテストアイコンを選択すると、パイプラインのユニットテストの一覧が表示されます。鉛筆アイコンを選択して、選択したユニットテストを編集します。

パイプラインのユニットテストの一覧。

ユニットテストで選択したテスト対象のデータ加工を変更するには、再選択ボタンを使用します。選択ページに戻ります。

ユニットテストの再選択プロセス。

ユニットテストにテスト対象のデータ加工としてすでに含まれているノードの間にノードを追加すると、追加したノードが既存のユニットテストに自動的に表示されます。

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

ユニットテストの入力と出力の編集ページ。

ユニットテストの編集が完了したら、右上のユニットテストを閉じるを選択して、メイングラフに戻ります。

提案でのユニットテスト

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

提案ページのユニットテスト。

提案ページには、ユニットテストは成功しましたセクションが表示されます。Pipeline Builder は、提案をマージする前にユニットテストに成功することを確認します。

提案ページのユニットテスト。

ストリーミングでのユニットテスト

ストリーミングのユニットテストでは、テスト入力データの各行に、Long データ型の ordering 値を追加する必要があります。

提案ページのユニットテスト。

ordering 列は、ストリーミングのユニットテストで必須のメタデータ列です。行が発行される全体の順序を制御しますが、テストデータの実際の内容やスキーマには影響しません。ordering 値は、テスト内のすべてのテストデータソースを通じて各行で一意の Long データ型の値にする必要があります。行は、ordering 値の小さいものから大きいものへと順にソースから発行されます。

順序は、ストリーミングのデータ加工、特に結合や和集合で、決定論的かつ意図した出力を実現するために重要です。