注意
プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が事前にアクセスし、そこからフィードバックを得ることができます。
この記事では、Dataverse を使用した統合テストの作成方法について説明します。 この機能は、Dataverse テーブルに接続する Power Fx 機能を適用します。
Dataverse に接続中
Dataverse 統合を有効にするには、enableDataverseFunctionsextensionModules に パラメーターを追加します。
testSettings:
extensionModules:
enable: true
parameters:
enableDataverseFunctions: true
Dataverse の統合を有効にすると、Dataverse 環境の権限を持つユーザーまたはサービス プリンシパルで Azure CLI を開く必要があります。 次のコマンドを使用できます: az login 詳細情報: Azure CLI でログインします。
統合に使用する Dataverse API URL は、pac test run--domainパラメーターのホスト ドメイン名から取得するか、 という DATAVERSE_URLを定義して取得します。
プレビューを有効にする
現在、すべての Dataverse 拡張テスト機能は、プレビュー関数を使用する必要があります。 これらを有効にするには、Preview の allowPowerFxNamespaces リストに を追加します。
testSettings:
extensionModules:
enable: true
allowPowerFxNamespaces:
- Preview
parameters:
enableDataverseFunctions: true
現在の状態のリセット
作成したテスト YAML で onTestCaseStart イベント ハンドラーを定義して、各テスト ケースの前に共通のアクションを実行します。 例:
testSuite:
testSuiteName: Dataverse tests
testSuiteDescription: Validate Power Fx can be used to run Dataverse integration tests
persona: User1
appLogicalName: N/A
onTestCaseStart: |
= ForAll(Accounts, Remove(Accounts, ThisRecord))
この例では、ForAll を使用してテーブルを反復処理し、各レコードに対してアクションを実行します。 次に Remove 関数を使用してテーブルから各レコードを削除し、各テストが実行される前にテーブルが空になるようにします。
関心のある関数
これらの関数は、Dataverse で操作を行う場合に便利です:
- Collect: レコードをテーブルに追加します。
- CountRows: テーブルのレコード数を戻します。
- First: テーブルの最初のレコードを戻します。
- ForAll: テーブルを反復処理し、各レコードに対してアクションを実行します。
- Patch: 既存のレコードを更新します。
- 削除: テーブルから特定のレコードを削除します。
考慮事項
テスト手順を記述するときは、次の点を考慮してください。
-
規定 はサポートされていません。 その結果、
Patch(Accounts, Defaults(Accounts), {name:"test"})のような Power Fx 例はサポートされていません。 -
CollectをPatch関数の代わりにするためにDefaultsを使用できます
Dataverse テストの実行
Power Fx プロバイダー (powerfx) を使用すると、キャンバスやモデル駆動型アプリ インターフェイスを必要とせずに Dataverse と対話するテストを実行できます。 これは、ビジネス ロジック、プラグイン、フロー、およびその他のバックエンド サービスのテストに役立ちます。
pac test run `
--provider powerfx `
--test-plan-file your-testplan.te.yaml `
--tenant your-tenantid-guid-value `
--environment-id your-environmentid-guid-value `
--domain "https://contoso.crm.dynamics.com"
AI 統合
オープン ソース Power Apps Test Engine を Debug モードでコンパイルし、適切なテスト設定と共に使用すると、テストで Preview.AIExecutePrompt 関数が有効になります。
テストの設定に以下を追加して、AI 統合を有効にします。
testSettings:
extensionModules:
enable: true
parameters:
enableDataverseFunctions: true
enableAIFunctions: true
AI機能の使用例:
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)