다음을 통해 공유


테스트 엔진을 사용한 테스트 확장(미리 보기) Dataverse

참고

프리뷰 기능은 생산용으로 만들어진 것이 아니므로 기능이 제한될 수 있습니다. 이런 기능은 공식 릴리스 전에 사용할 수 있으므로 고객이 조기에 액세스하고 피드백을 제공할 수 있습니다.

이 문서에서는 통합 테스트를 만드는 방법을 설명합니다 Dataverse. 이 기능은 테이블에 연결하는 기능을 적용합니다. Power Fx Dataverse

Dataverse에 연결

통합을 활성화하려면 testSettings Dataverse extensionModules enableDataverseFunctions 에 매개변수를 추가하세요. ......

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableDataverseFunctions: true

통합을 활성화하는 경우 Dataverse 환경에 대한 권한이 있는 사용자 또는 서비스 주체로 Azure CLI를 열어야 합니다. Dataverse 다음 명령을 사용할 수 있습니다: az login 자세한 정보: Azure CLI로 로그인.

통합에 사용되는 API URL은 Dataverse pac 테스트 실행 매개변수의 호스트 도메인 이름에서 얻거나 --domain PowerShell 환경 변수 이름으로 정의하여 얻습니다. DATAVERSE_URL

미리 보기 사용

현재 모든 Dataverse 확장 테스트 기능에는 미리 보기 기능을 사용해야 합니다. 이를 활성화하려면 extensionModules 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: 테이블을 반복하고 각 레코드에 대해 작업을 수행합니다.
  • 패치: 기존 레코드를 업데이트합니다.
  • Remove: 테이블에서 특정 레코드를 삭제합니다.

고려 사항

테스트 단계를 작성할 때 다음 사항을 고려하세요.

  • 기본값은 지원되지 않습니다. 따라서 Power Fx 다음과 같은 예는 Patch(Accounts, Defaults(Accounts), {name:"test"}) 지원되지 않습니다.
  • 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 테스트 엔진 을 사용하면 테스트에서 Debug Preview.AIExecutePrompt 함수가 활성화됩니다.

AI 통합을 활성화하려면 테스트 설정에 다음을 추가하세요.

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableDataverseFunctions: true
      enableAIFunctions: true

AI 함수의 사용 예:

Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)