备注
预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前已经可用,以便客户可以抢先体验并提供反馈。
本文介绍如何使用创建集成测试 Dataverse。 此功能应用 Power Fx 与表连接 Dataverse 的功能。
正在连接到 Dataverse
要启用 Dataverse 集成,请在 enableDataverseFunctions testSettings extensionModules 中添加 参数:
testSettings:
extensionModules:
enable: true
parameters:
enableDataverseFunctions: true
启用 Dataverse 集成时,需要使用对环境具有 Dataverse 权限的用户或服务主体打开 Azure CLI。 可以使用命令: az login 详细信息: 使用 Azure CLI 登录。
用于集成的 Dataverse API URL 是从 pac test run 参数的--domain 主机域名中获取的,也可以通过定义 名为的 PowerShell 环境变量 DATAVERSE_URL获取的。
启用预览
目前,所有 Dataverse 扩展测试功能都需要使用 预览功能。 要启用这些,请添加到 PreviewallowPowerFxNamespaces extensionModules 中的列表中。
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时非常有用:
注意事项
在编写测试步骤时,请考虑以下注意事项:
-
不支持默认值 。 因此 Power Fx ,不支持此类
Patch(Accounts, Defaults(Accounts), {name:"test"})示例。 - 您可以使用
Collectalternative toPatch与函数一起使用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"
人工智能集成
使用在 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)