骆驼单元测试用例问题

时间:2017-08-29 06:33:26

标签: apache-camel

我有文件传输的路线。在这两者之间,我必须插入审计表并记录一些最小的信息。路线工作正常,但我无法进行骆驼单元测试。

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>

我在这里遗漏了什么吗?请帮忙。

1 个答案:

答案 0 :(得分:0)

要获取MockEndpoint,您需要添加“mock:”前缀。

MockEndpoint mock = getMockEndpoint("mock:file:{{outBound.ftp.url}}");