我有 mule 服务,它依赖于所有连接器(http、db、jms)的 mule 域。
我面临的问题是,当我为特定服务/流编写 MUnit 时,我无法模拟 DOMAIN 项目中的连接器。例如,域有一个 JMS 连接器(永远重新连接),它一直在尝试连接。所有这些都发生在 munit 实际被调用之前。如何使所有连接器不在任何地方连接?
我猜你的域项目中只有 JMS 连接器配置(即jms:connector),你不需要模拟。入站/出站 JMS 连接器仅存在于您的实际流/服务中。只需要在实际流程中模拟入站/出站 JMS 连接器。
示例代码:
<mock:when messageProcessor="jms:outbound-endpoint" doc:name="jms-mock">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="#[matchContains('your jms doc:name')]"/>
</mock:with-attributes>
<mock:then-return payload="#[]"/>
</mock:when>
您可以将连接器的更多属性添加到上述代码中。