【问题标题】:How do I write unit test for logic apps steps using Ms unit project c# code?如何使用 Ms 单元项目 c# 代码为逻辑应用步骤编写单元测试?
【发布时间】:2018-01-02 18:27:54
【问题描述】:

我创建了一个简单的天蓝色逻辑应用程序。

  • 第 1 步 - http 请求
  • 第 2 步 - XML 转换
  • 为 XML 文件添加了地图文件 xslt
  • 第 3 步 - 将转换 XML 数据发送到服务总线队列。
  • 第 4 步 - 请求响应

我想使用 msunit 项目创建上述逻辑应用单元测试用例。我是逻辑应用程序的新手。

【问题讨论】:

  • 您想在不部署到 Azure 的情况下对其进行测试吗?

标签: c# unit-testing azure visual-studio-2015 azure-logic-apps


【解决方案1】:

在仔细研究逻辑应用程序时,我已经深入研究了这个主题...... AFAIK,无论是否将逻辑应用程序部署到 Azure,都没有办法单元测试具体步骤,抱歉。

您最多可以进行端到端/集成测试。这将需要您将应用程序部署到 Azure 云中,因为您没有任何其他方法可以使您的逻辑应用程序的 JSON 定义在本地(在您的桌面或其他本地机器上)可执行。

现在我们谈论的是端到端测试,因此有一个问题,您如何确保您的测试不会弄乱生产数据,对吧?这反过来又引发了两个后续问题之一:

  • 如何为 Azure 逻辑应用程序建模环境/阶段?或
  • 如何编写测试以保证产品数据完好无损,并且生产中也不会生成垃圾数据?

(提示:尽管这两个问题都是可以解决的,但这些 ^ 问题都没有简单易行的答案。我个人决定这样做)。


给你一些希望。如果您可以脱离基于纯逻辑应用的解决方案,我建议您将自定义逻辑实现为 Azure Functions。这些函数只是普通的 JavaScript/C#/语言选择代码,您实际上可以在本地进行单元测试。这些函数也易于从逻辑应用调用

作为平台的逻辑应用程序可以作为编排平台运行良好。支持多种触发器;允许控制应用程序中的并行度;它允许您配置重试和超时逻辑;等等。当涉及到与表达处理连接器的应用程序逻辑相关的所有内容时,它根本就不好。


相关来源:

【讨论】:

  • 关于第一个项目符号,建议的方法存在一个主要问题——他建议使用事件中心来捕获测试事件。事件生成与传递到事件中心侦听器之间存在约 2 分钟的延迟。相反,您可以在执行完成后立即调用 Logic App API 以获取执行历史记录 (see this approach)
猜你喜欢
  • 1970-01-01
  • 2013-06-02
  • 2015-03-30
  • 2021-02-15
  • 2020-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-11
相关资源
最近更新 更多