Power Query SDK テスト フレームワーク リファレンス
このマルチパート リファレンスでは、Power Query コネクタ開発者向けの標準テスト スイートのセットアップと実行について説明します。 このリファレンスは、拡張コネクタをテストするために環境が設定されていることを確実にするため、順番に従う必要があります。
このリファレンスでは、Power Query SDK テスト フレームワーク、標準化されたテスト スイート、NYC タクシー&リムジン協会(TLC)の緑乗車レコード データの変更バージョンが使用されます。 以降のセクションでは、拡張コネクタを検証するために環境を設定する手順について説明します。
テスト フレームワークは、Power Query SDK 開発者が標準テストとテスト ハーネスにアクセスし、拡張コネクタの DirectQuery (DQ) 機能を検証できるようにします。 この新機能により、開発者はコネクタを検証する標準的な方法、ならびにカスタム テストを追加するプラットフォームを使用できます。 Power Query SDK によって提供されるテスト ワークフローの生産性を向上させる最初のステップとして想定されています。
Power Query SDK テスト フレームワークとは?
Power Query SDK テスト フレームワークは、新規と既存の拡張コネクタのテストを標準化するため、事前構築済みテストを備えたすぐに使用できるテスト ハーネスです。 機能、コンプライアンス、回帰テストを大規模に実施する能力があります。 拡張コネクタのニーズを満たす包括的なテスト フレームワークのニーズの対応に役立ちます。
開発者のワークフロー
次のリストでは、テスト フレームワークによる一般的な Power Query SDK 開発者ワークフローが示されています。
- Power Query SDK Visual Studio Code 拡張機能をインストール: コネクタ開発者は、拡張コネクタを開発するために PowerQuery SDK Visual Studio Code 拡張機能をインストールする必要があります。 Visual Studio Code 拡張機能は、テスト ハーネス PQTest.exe も含む Microsoft.PowerQuery.SdkTools NuGet パッケージをラップします。 PQTest テスト ハーネスは、テスト フレームワークに存在するテストを実行するための新しい compare コマンドが含まれています。
- DataConnectors GitHub リポジトリを複製: DataConnectors GitHub リポジトリを複製し、テスト フレームワークに含まれるテスト データとテストにアクセスします。 これらのテストの詳細については、「PowerQuery SDK テスト フレームワークパート 3 - テスト スイート」を参照してください。
- データ ソースにテスト データを読み込む: コネクタ開発者は、2 つの CSV ファイルで構成されるテスト データをテーブルとしてデータ ソースに読み込む必要があります。これにより、スキーマが指定された SQL スキーマ ファイルと確実に一致します。 詳細については、「Power Query SDK テスト フレームワーク パート 2 - テスト データ」を参照してください。
- テストを構成して実行: コネクタ開発者は、指定された RunPQSDKTestSuites PowerShell ユーティリティを使用してテストを実行する必要があります。これは、PQTest compare コマンドを使用してテストを実行します。 詳細については、「Power Query SDK テスト フレームワーク パート 5 - 拡張コネクタのテスト」を参照してください。
- レポートと CI/CD: デフォルトのテスト レポートはコンソールで生成され、概要、詳細、TRX、JSON 形式でレポートを生成するオプションもあります。 TRX(Visual Studio テスト結果ファイル)形式は、パイプラインの一部として実行されるときに結果を表示するために便利です。 詳細については、「Power Query SDK テスト フレームワーク パート 7 - パイプライン ガイド」を参照してください。
テスト フレームワークの目標
Power Query SDK テスト フレームワークの長期的な目標は、拡張コネクタをテストするために Visual Studio Code SDK と統合された堅牢なテスト ソリューションを提供することです。 コネクタの開発において、開発者エクスペリエンスを大幅に向上させます。 断片化したテスト プラクティスに標準化をもたらし、最終的には品質水準を高めてコネクタの維持の作業量を減らします。 テスト フレームワークがコネクタ認定プロセスにプラグインし、パートナーのエクスペリエンスを強化することも想定しています。
テスト フレームワークの初期リリースの目標は、次の機能を提供することです。
- ユーザーが拡張コネクタを簡単にテストするために使用しやすいコマンド ライン ユーティリティ: テスト フレームワークは、テストを実行するために直感的なオプションを持った PQTest compare コマンドを提供します。 RunPQSDKTestSuites PowerShell ユーティリティも提供し、バッチ テストにも役立ちます。 テストを構成して実行する簡単で自動の構成が用意されています。
- コネクタを検証するために実行する即使用可能な標準テストの初期セット: テスト フレームワークには、テスト テーブルのスキーマ、行数、データを検証するサニティ テストのスイートが用意されています。 データ型、数値演算、日付、時刻、テキスト関数、演算子、結合を検証する標準テスト スイートも用意されています。
- テストを手間なく手動で追加してテストを拡張する方法: テスト フレームワークのテストは、新しい PQ/PQOut テスト形式を使用し、必要な構成を最小限に抑えることでテスト作成プロセスが簡略化されます。 コネクタ開発者は、テスト用の M クエリの作成に集中できます。 各テストはモジュール式で個別ファイルに分割され、メンテナンスを簡略化します。 予想される出力は、最初の実行時にも生成されます。
- クエリ フォールディング テストをテストする能力: テスト フレームワークは、コネクタの診断を実行することもできます。 現在、診断機能は、ODBC ベースのコネクタのクエリ フォールディング中に SQL クエリ生成に制限されています。 この機能は、今後その他の診断に拡張される予定です。
リファレンス ガイドの概要
このガイドでは、次のことを行います。
- Power Query SDK テスト フレームワークについて説明します。
- テスト フレームワークをインストールし、開発環境を設定する方法について説明します。
- テスト スイートで使用されているデータセットをフェッチし、拡張コネクタに基づいたデータ ソースにアップロードします。
- テスト フレームワーク範囲内のファイル形式と機能であるテスト形式の仕様について説明します。
- 拡張コネクタを検証するテストを含むテスト スイートをフェッチして実行します。
- さまざまな構成で個別テストを実行します。
- 独自のテストを追加し、コネクタ固有の機能を確認します。
- テストのパイプラインを設定し、テストの実行を自動化します。
指定項目
パーツ | セクション | 詳細 |
---|---|---|
1 | セットアップ | 環境を設定します。 |
2 | データの準備 | テスト データの準備。 |
3 | テスト スイート | テスト スイートのフェッチとその内容について説明します。 |
4 | テスト形式仕様 | テスト フレームワークで使用されるさまざまなファイル形式について説明します。 |
5 | コネクタのテスト | 拡張コネクタをテストします。 |
6 | テストの追加 | 独自のテストを追加し、テスト フレームワークのさまざまなオプションと構成について説明します。 |
7 | パイプラインのセットアップ ガイド | パイプラインでテストを実行します。 |