2016-07-15 77 views
0

我正在执行Munit以处理涉及Mule请求者的流程。这个骡子请求者会拿起一个文件。MUnit测试失败 - 无法处理事件为“FileConnector”已停止

因此,当我运行Java类作为Junit时,它会抛出异常,因为它停止时无法对FileConnector执行操作。

在骡请求者使用的表达是,

文件:// $ {路径}连接器= FileConnector

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

请让我知道如何解决此问题。

谢谢。

回答

1

默认情况下,MUnit中的所有连接器和入站端点都是禁用的。这是为了防止意外处理/生成实际数据的流量。 (一些解释here)。出于同样的原因,文件连接器也被禁用。

要启用连接器,你需要重写你的MUnitsuite的方法如下 -

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

对于XML Munit,看到this使连接器。

注意:这将启用并启动您在被测试的mule-configs中使用的所有连接器。如果您有SMTP连接器,DB连接器,MQ连接器等,它们都将在测试期间启动,因此请谨慎使用它。

+0

谢谢马尼克..它现在工作。 但是,当我们禁用模拟时,为什么它不能工作。因为理想情况下,建议不要连接到端点。 –

+0

是的,建议保持入站端点和连接器被模拟,并且默认情况下它们被模拟。如果你保持连接器嘲笑,那么你还需要嘲笑你的任何**出站端点**。因此,如果您嘲笑正在触发您的文件连接器的'mulerequester:request',则无需解除连接。 –

0

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

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

您也可以尝试嘲弄骡子请求者。