您可以对 Azure 逻辑应用程序进行 regression/integration 自动化测试吗?

Can you have automated regression/integration tests for Azure Logic Apps?

您能否对 Azure 逻辑应用进行自动化 regression/integration 测试?

如果可以,怎么做? ... 特别是在 CI/CD 构建和部署

的上下文中

...如果你不能,为什么不呢!!

目前还没有任何 out-of-the-box 工具来提供 Azure 逻辑应用程序的自动化测试。我们有一些客户遵循以下模式之一。还有 this article 详细介绍了如何创建逻辑应用程序部署模板:

  1. 部署后(使用像 Visual Studio Release Management 这样的发布管理工具),一系列单元测试运行(用 C# 之类的语言编写)来测试逻辑应用程序。

由于逻辑应用程序可以有任何类型的触发器(在队列项上、在 HTTP 请求上),代码通常会执行操作并断言结果。

  1. 资源组中的一个逻辑应用程序,可以 运行 工作流中的一系列基本测试。这需要更多的咀嚼,但想法是您有一个使用连接器或 "calling nested apps" 执行基本验证测试的工作流程(确保连接处于活动状态等)

这是我们从 time-to-time 开始讨论的内容,但很想知道您是否对要为应用配置的 tooling/configuration 类型有任何想法(请记住某些应用 "trigger" 处理队列中的消息或 FTP 中的文件)。


我想分享我的团队采用的一种 LogicApp 测试方法。
第一级验证是 ARM 模板部署状态 (ProvisioningState),不应有任何错误。
之后我们使用 logic app sdk 开发了测试自动化,它执行以下操作

  1. 获取授权令牌。
  2. 使用合成 t运行saction 执行特定逻辑应用程序触发器。
  3. 等到执行完成。
  4. 获取逻辑应用及其操作状态(成功、失败或跳过),根据预期场景对其进行验证。
  5. 获取每个操作执行的输出,根据预期场景验证它们。
  6. 针对逻辑应用可能经历的所有各种情况重复上述步骤。
  7. 钩这个 all-in CI/CD :)

部署了 LA,运行 合成 t运行saction 并验证了结果。 希望这对您有所帮助。