Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
File Mule:JUnit测试不适用于文件终结点_File_Testing_Junit_Mule - Fatal编程技术网

File Mule:JUnit测试不适用于文件终结点

File Mule:JUnit测试不适用于文件终结点,file,testing,junit,mule,File,Testing,Junit,Mule,在Mule服务器下运行flow时,位于C:\vikas\file位置的Message.xml文件成功地移动到C:\vikas\file\error位置 <flow name="Demo" doc:name="Demo"> <file:inbound-endpoint path="C:\vikas\file\" responseTimeout="10000" doc:name="File" /> <file:outbound-end

在Mule服务器下运行flow时,位于C:\vikas\file位置的Message.xml文件成功地移动到C:\vikas\file\error位置

<flow name="Demo" doc:name="Demo">

    <file:inbound-endpoint path="C:\vikas\file\"
        responseTimeout="10000" doc:name="File" />

    <file:outbound-endpoint path="C:\vikas\file\error"
        outputPattern="#[function:datestamp:dd-MM-yy]_#[function:systime].xml"
        responseTimeout="10000" doc:name="ErrorQueue" />
</flow>

在添加了Thread.sleep after client.dispatch()方法后,我已经修复了它


由于分派是异步方法,Mule需要一些等待时间来完成文件移动过程。

在添加了Thread.sleep after client.dispatch()方法后,我已经修复了它


由于分派是异步方法,Mule需要一些等待时间来完成文件移动过程。

您是否检查了是否正在将文件成功地读取到
有效负载中?在类路径中是否有
vikas/file
,以便
getResourceAsString
能够找到它?是的,它正在成功读取文件。您是否检查了是否正在将文件成功读取到
有效负载中?您的类路径中是否有
vikas/file
,以便
getResourceAsString
可以找到它?是的,它正在成功读取文件。仅供参考,我不熟悉Mule,但Camel(非常类似)内置了测试机制,以等待异步消息完成(通过请求vs发送或使用通知程序)。我建议研究Mule的类似机制,这样你就不会有那么多的睡眠。睡眠是让异步测试通过的一种非常脆弱的方式。尝试使用
send
而不是
dispatch
,这样Mule只会阻塞编写文件所需的时间。John,我在Google上的Mule中没有找到类似的方法。David,client.send无法处理文件,因为出站端点的交换模式为“请求\响应”file://dynamic 不支持。仅供参考,我不熟悉Mule,但Camel(非常类似)内置了测试机制来等待异步消息完成(通过请求vs发送或使用通知程序)。我建议研究Mule的类似机制,这样你就不会有那么多的睡眠。睡眠是让异步测试通过的一种非常脆弱的方式。尝试使用
send
而不是
dispatch
,这样Mule只会阻塞编写文件所需的时间。John,我在Google上的Mule中没有找到类似的方法。David,client.send无法处理文件,因为出站端点的交换模式为“请求\响应”file://dynamic 不支持。
@Test
public void testFile() throws Exception {

    String fileInputPath = "file://C:/vikas/file";
    String payload = IOUtils.getResourceAsString(
            "Message.xml", this.getClass());
    client.dispatch(fileInputPath, payload, null);

    MuleMessage result = client.request(
            "file://C:/vikas/file/error", 5000);
}
@Test
public void testFile() throws Exception {

    String fileInputPath = "file://C:/vikas/file";
    String payload = IOUtils.getResourceAsString(
            "Message.xml", this.getClass());
    client.dispatch(fileInputPath, payload, null);

    Thread.sleep(685000);

    MuleMessage result = client.request(
            "file://C:/vikas/file/error", 5000);
}