我有文件传输的路线。在这两者之间,我必须插入审计表并记录一些最小的信息。路线工作正常,但我无法进行骆驼单元测试。
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 而不是 isMockEndpoints ,如下所示。
@Override
public String isMockEndpointsAndSkip(){
return "*";
}
但现在它正在抛出测试失败
java.lang.AssertionError:mock:// file:D:/ output已接收的消息计数。预期:< 1>但是:< 0>
我在这里遗漏了什么吗?请帮忙。
答案 0 :(得分:0)
要获取MockEndpoint,您需要添加“mock:”前缀。
MockEndpoint mock = getMockEndpoint("mock:file:{{outBound.ftp.url}}");