Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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
CollectaPatchfüggvény alternatívájátDefaults
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)