Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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
Java 测试通过等待文件到达开始的驼峰路由_Java_Spring_Unit Testing_Apache Camel - Fatal编程技术网

Java 测试通过等待文件到达开始的驼峰路由

Java 测试通过等待文件到达开始的驼峰路由,java,spring,unit-testing,apache-camel,Java,Spring,Unit Testing,Apache Camel,我有一个Camel路由,它等待在目录中接收zip文件。它解压它,然后迭代它包含的文件,解析它们的内容,然后将它们发送到多个消息队列中的一个 我已经找到了端到端工作的方法,但是现在我想编写单元测试来处理可能出现的不同情况。我在第一个跨栏时摔倒了 我在internet上找到的所有单元测试似乎都是从路由中的第一个组件接收到的消息开始的。我需要模拟文件的存在 我的路由是在Spring上下文文件中配置的,我可以看到我的路由正在被通知(例如:adviced endpoint)[file:///tmp/dta

我有一个Camel路由,它等待在目录中接收zip文件。它解压它,然后迭代它包含的文件,解析它们的内容,然后将它们发送到多个消息队列中的一个

我已经找到了端到端工作的方法,但是现在我想编写单元测试来处理可能出现的不同情况。我在第一个跨栏时摔倒了

我在internet上找到的所有单元测试似乎都是从路由中的第一个组件接收到的消息开始的。我需要模拟文件的存在

我的路由是在Spring上下文文件中配置的,我可以看到我的路由正在被通知(例如:
adviced endpoint)[file:///tmp/dta/xml_source?antInclude=*.zip&move=.done&moveFailed=.error],带有模拟端点[mock:file:/tmp/dta/xml\u source]


我只是不知道如何将其付诸实施。

mock:
中的建议替换为
seda:
direct:
,然后使用
ProducerTemplate
将消息发送到starter端点。

您可以简单地建议您的消费者(即文件)指向具有特定文件名的测试资源目录,并确保noop=true,以便测试不会删除该文件。 这样,您就不会模拟该端点,并且您的路由运行与真实场景中的情况相同

replaceFromWith("file:///TEST_RESOURCE_DIRECTORY/dta/xml_source?antInclude=*.zip&move=.done&moveFailed=.error&noop=true")