Mule 同时运行Munit和应用程序

Mule 同时运行Munit和应用程序,mule,mule-studio,mule4,munit,Mule,Mule Studio,Mule4,Munit,我需要在Anypoint Studio中同时运行Munit 2和应用程序 以下是流程: 我们有两个应用程序(项目)A和B。应用程序A包含http侦听器端点流fA1。当这里接收到数据时,它将转换后的JSON数据发送给第三方,命名为X 现在,假设我在应用程序B中有流fB1,它包含一个http侦听器端点,该端点(流fB1)从X接收JSON通知。流fB1基于此进行一些处理,并将其转换为另一种JSON格式。该格式被发送到应用程序A 现在,应用程序A在http侦听器端点流fA2接收数据,并在此基础上进行

我需要在Anypoint Studio中同时运行Munit 2和应用程序

以下是流程:

  • 我们有两个应用程序(项目)A和B。应用程序A包含http侦听器端点流fA1。当这里接收到数据时,它将转换后的JSON数据发送给第三方,命名为X

  • 现在,假设我在应用程序B中有流fB1,它包含一个http侦听器端点,该端点(流fB1)从X接收JSON通知。流fB1基于此进行一些处理,并将其转换为另一种JSON格式。该格式被发送到应用程序A

  • 现在,应用程序A在http侦听器端点流fA2接收数据,并在此基础上进行一些处理

  • 所以整个流程是A->X->B->A

    问题是:我正在为整个流程编写Munit。在第1点,我提到我们从A向应用程序X发送数据,X向B发送数据。但B应用程序关闭,因为Anypoint不允许Munit和应用程序同时运行,所以我无法从X接收数据。 为了使它工作,我必须在应用程序和模拟通知的Munit中复制应用程序B的整个逻辑。他们是否有任何解决办法,以避免将代码从应用程序B复制到应用程序A的Munit?我尝试了并行部署,但根本不起作用


    如果你们中有人有解决方案或建议,请提供指导。

    这不是Munit的预期用途。测试应该包含在Munit执行中,所有外部依赖都应该被模拟

    您试图做的是对多个应用程序进行系统集成测试。那没关系,但应该不用弹药


    或者,您可以在单独的测试环境(Anypoint Studio之外)中运行其他应用程序,并仅执行Munit。以这种方式测试将不是非常确定的,而且会更加脆弱。

    您只需要在应用程序a的测试中模拟应用程序B的代表性响应。不需要完全模拟应用程序B本身的行为。感谢您的响应,问题是,当我们从应用程序B接收数据到应用程序A时,我们需要使用应用程序A中的逻辑来验证我们是否收到了X和其他一些已处理的数据。我们正在努力使它更加实时。我无法在这里解释,因为它可能会变得冗长……但在应用程序a的测试中,您不需要应用程序B,您只需要通过提供代表性响应来模拟应用程序B。因此,如果A向X的mock发送一些数据,而B的mock(或驱动程序/存根)注入一个代表性响应。假设您的测试是确定性的,您不必模拟应用程序B的逻辑,一个与测试匹配的固定响应应该足够了(如果需要,可能会对ID和时间戳进行一些参数化)。感谢共享共享共享的存储库您正在尝试需要模拟响应的集成测试。无需复制粘贴整个应用程序。使用模拟组件并要求它根据场景给出响应。亚历德是对的。如果你觉得上面给出了答案。请接受。它也为其他人提供了可视性。