Споделяне чрез


Тестови Dataverse разширения с тестова система (предварителен преглед)

Бележка

Функциите за предварителен преглед не са предназначени за производствена употреба и може да са с ограничена функционалност. Тези функции са достъпни преди официалното издание, за да могат клиентите да получат ранен достъп и да дадат обратна връзка.

Тази статия обяснява как да създавате интеграционни тестове с Dataverse. Тази функционалност прилага Power Fx възможността за свързване с Dataverse таблици.

Свързване с Dataverse

За да активирате Dataverse интеграцията, добавете параметъра enableDataverseFunctions във вашия testSettingsextensionModules :

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

Когато разрешите Dataverse интеграцията, от вас се изисква да отворите Azure CLI с потребител или ръководител на услугата, който има права върху средата Dataverse . Можете да използвате командата: az вход Повече информация: влизане с Azure CLI.

Dataverse URL адресът на API, използван за интеграция, се получава или от името на домейна на хоста на параметъра за изпълнение--domain на pac test, или чрез дефиниране на променлива на средата на PowerShell с име DATAVERSE_URL.

Разрешаване на визуализация

В момента всички Dataverse възможности за тестване на разширения изискват използване на функции за визуализация. За да ги активирате, добавете Preview към списъка allowPowerFxNamespaces в extensionModules.

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview
    parameters:
      enableDataverseFunctions: true

Нулиране на текущото състояние

Дефинирайте onTestCaseStart манипулатора на събития във вашия авторски тестов yaml за извършване на общи действия преди всеки тестов случай. Например:

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:

  • Събиране: Добавя записи към таблица.
  • CountRows: Връща броя на записите в таблица.
  • Първи: Връща първия запис в таблица.
  • ForAll: Итерира таблица и извършва действие върху всеки запис.
  • Корекция: Актуализиране на съществуващ запис.
  • Премахване: Изтрива конкретен запис от таблица.

Съображения

Вземете предвид тези съображения, докато пишете стъпки на теста:

  • Настройките по подразбиране не се поддържат. В резултат на това 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)