Megosztás:


Bővítmények tesztelése Dataverse a Test Engine-rel (előzetes verzió)

Feljegyzés

Az előzetes funkciókat nem célszerű termelési környezetben használni, és előfordulhat, hogy korlátozott funkcionalitással rendelkeznek. Ezek a funkciók a hivatalos kiadás előtt érhetők el, hogy az ügyfelek korán megismerkedhessenek velük, és visszajelzést adhassanak róluk.

Ez a cikk bemutatja, hogyan hozhat létre integrációs teszteket Dataverse. Ez a funkció a Power Fx táblákhoz való csatlakozás Dataverse képességét alkalmazza.

Csatlakozás a következőhöz: Dataverse

Az integráció engedélyezéséhez Dataverse adja hozzá a paramétert enableDataverseFunctions a testSettingsextensionModules bővítményhez :

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

Az integráció engedélyezésekor Dataverse meg kell nyitnia az Azure CLI-t egy olyan felhasználóval vagy szolgáltatásnévvel, amely jogosultságokkal rendelkezik a Dataverse környezethez. Használhatja a parancsot: az login További információ: jelentkezzen be az Azure CLI-vel.

Az Dataverse integrációhoz használt API URL-cím a pac tesztfuttatási paraméter gazdatartománynevéből--domain vagy egy nevű PowerShell-környezeti változó DATAVERSE_URLdefiniálásával szerezhető be.

Előnézet engedélyezése

Jelenleg az összes Dataverse bővítménytesztelési képességhez előzetes verziójú függvények használataszükséges. Ezek engedélyezéséhez adja hozzá Preview a allowPowerFxNamespaces listához a extensionModules mappában.

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

Az aktuális állapot visszaállítása

Határozza meg az eseménykezelőt onTestCaseStart a szerzői teszt yaml-ben, hogy az egyes tesztesetek előtt gyakori műveleteket hajtson végre. Például:

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))

Ebben a példában a ForAll táblázat iterálására és az egyes rekordokon végrehajtott művelet végrehajtására szolgál. A Remove függvény ezután az egyes rekordok törlésére szolgál egy táblából, hogy minden teszt végrehajtása előtt üres táblát biztosítson.

Érdekes funkciók

Ezek a funkciók hasznosak a következők használatakor Dataverse:

  • Gyűjtés: Rekordokat ad hozzá egy táblához.
  • CountRows: A táblázat rekordjainak számát adja vissza.
  • First: A tábla első rekordját adja vissza.
  • ForAll: Iterál egy táblán, és végrehajt egy műveletet az egyes rekordokon.
  • Javítás: Meglévő rekord frissítése.
  • Eltávolítás: Töröl egy adott rekordot egy táblából.

Szempontok

A tesztlépések írásakor vegye figyelembe ezeket a szempontokat:

  • Az alapértelmezett értékek nem támogatottak. Ennek eredményeképpen Power Fx az olyan Patch(Accounts, Defaults(Accounts), {name:"test"}) példák nem támogatottak.
  • Használhatja Collect a Patch függvény alternatíváját Defaults

Tesztek futtatása Dataverse

A szolgáltató ( Power Fx ) segítségévelpowerfxolyan teszteket futtathat, amelyek vászon vagy modellvezérelt alkalmazásfelület nélkül kommunikálnak Dataverse . Ez hasznos az üzleti logika, a beépülő modulok, a folyamatok és más háttérszolgáltatások teszteléséhez.

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 integráció

A módban Power Apps lefordított nyílt forráskódú tesztmotor Debug és a megfelelő tesztbeállítások együttes használata lehetővé teszi a Preview.AIExecutePrompt függvényt a tesztekben.

Az AI-integráció engedélyezéséhez adja hozzá a következőket a tesztbeállításokhoz:

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

Példa az AI-függvény használatára:

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