备注
预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前已经可用,以便客户可以抢先体验并提供反馈。
本文介绍如何使用 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 扩展测试功能都需要使用 预览功能。 要启用这些功能,请在 extensionModules 列表中添加 PreviewallowPowerFxNamespaces。
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"})示例。 - 您可以使用
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"
人工智能集成
使用在 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)