MUnit 测试失败 - 无法处理事件,因为“FileConnector”已停止

MUnit test fails - Cannot process event as “FileConnector” is stopped

我正在为涉及 Mule Requester 的流程实施 Munit。这个骡子请求者会拿起一个文件。

因此,当我 运行 java class 作为 Junit 时,它会抛出异常,因为它已停止,无法在 FileConnector 上执行操作。

mule 请求者中使用的表达式是,

文件://${路径}?connector=FileConnector

我还定义了一个全局文件连接器。

请告诉我如何解决这个问题。

谢谢。

检查您为 munit 加载的文件中是否定义了文件连接器。

 <spring:beans>
    <spring:import resource="classpath:api.xml"/>
 </spring:beans>

您也可以尝试模拟 mule 请求者。

MUnit 默认禁用所有连接器和入站端点。这是为了防止意外流出 processing/generating 真实数据。 (一些解释here)。出于同样的原因,文件连接器也被禁用。

要启用连接器,您需要重写 MUnitsuite 中的一个方法,如下所示 -

@Override
protected boolean haveToMockMuleConnectors() {
    return false;
}

对于 XML Munit,请参阅 this 以启用连接器。

注意:这将启用并启动您在测试中的 mule-configs 中使用的所有连接器。如果你有SMTP连接器、DB连接器、MQ连接器等,测试时都会启动,慎用。