我有一个文件传输的路由。在此期间,我必须插入到审核表中,并记录一些最低限度的信息。路线运行良好,但我无法进行骆驼单元测试。
public class EobRequestTest extends CamelBlueprintTestSupport {
@Test
public void testRoute() throws Exception {
MockEndpoint mock = getMockEndpoint("file:{{outBound.ftp.url}}");
mock.expectedMessageCount(1);
template.sendBody("file:{{intBound.ftp.url}}", getInputFile());
mock.assertIsSatisfied();
}
@Override
public String isMockEndpoints(){
return "*";
}
private File getInputFile() throws Exception {
return FileUtils.getFile("src", "test", "resources","test.xml");
}
}
现在,当我运行上面的测试用例时,我会将提到的文件"test.xml"转移到原始输出文件夹中。此外,所有数据库操作都将执行。我尝试使用isMockEndpointsAndSkip而不是is MockEndpoints,如下所示。
@Override
public String isMockEndpointsAndSkip(){
return "*";
}
但现在它正在抛出测试失败的
java.lang.AssertionError:mock://file:D:/output收到的消息计数。应为:<1> 但是是:<0>
我是不是遗漏了什么?请帮忙。
要获得MockEndpoint,需要添加"mock:"前缀。
MockEndpoint mock = getMockEndpoint("mock:file:{{outBound.ftp.url}}");