Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Ms unit project c#代码为逻辑应用程序步骤编写单元测试?_C#_Unit Testing_Azure_Visual Studio 2015_Azure Logic Apps - Fatal编程技术网

如何使用Ms unit project c#代码为逻辑应用程序步骤编写单元测试?

如何使用Ms unit project c#代码为逻辑应用程序步骤编写单元测试?,c#,unit-testing,azure,visual-studio-2015,azure-logic-apps,C#,Unit Testing,Azure,Visual Studio 2015,Azure Logic Apps,我创建了一个简单的azure逻辑应用程序 步骤1-http请求 步骤2-XML转换 为XML文件添加了映射文件xslt 步骤3-将转换XML数据发送到服务总线队列 步骤4-请求-响应 我想使用msunit项目创建上面的逻辑应用程序单元测试用例。我不熟悉逻辑应用程序 当我仔细研究逻辑应用程序时,我已经深入探讨了这个话题。。。好了,不管是否将逻辑应用部署到Azure,都没有办法进行单元测试,抱歉 您最多可以进行一次端到端/集成测试。这将要求您将应用程序部署到Azure云中,因为您没有任何其他方法

我创建了一个简单的azure逻辑应用程序

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

我想使用msunit项目创建上面的逻辑应用程序单元测试用例。我不熟悉逻辑应用程序

当我仔细研究逻辑应用程序时,我已经深入探讨了这个话题。。。好了,不管是否将逻辑应用部署到Azure,都没有办法进行单元测试,抱歉

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

现在我们讨论的是端到端测试,因此有一个问题,您如何确保您的测试不会弄乱生产数据,对吗?这反过来又提出了以下两个问题之一:

  • 我如何为Azure Logic应用程序建模环境/阶段?或
  • 我如何编写测试来保证产品数据是完整的,并且在生产中也不会生成垃圾数据
(提示:尽管这两个问题都是可以解决的,但这些问题都没有简单的答案。我个人决定根本不这样做)


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

作为一个平台,Logic应用程序可以很好地作为一个编排平台。它支持多个触发器;允许控制应用程序中的并行度;它允许您配置重试和超时逻辑;等等当涉及到所有与表达处理连接器的应用程序逻辑相关的事情时,这一点都不好


有关资料来源:

  • 带一些不错想法的幻灯片:


您想在不部署Azure的情况下测试它吗?关于第一个项目,建议的方法存在一个主要问题——他建议使用事件中心捕获测试事件。在事件生成和将其传递到事件中心侦听器之间有大约2分钟的延迟。相反,您可以在执行完成后立即调用Logic App API以获取执行历史记录