spring-boot - 测试 Apache Camel + SpringBoot 时使用备用端点
问题描述
我有一个简单的 Apache CamelRouteBuilder
类,大致如下所示:
from("an FTP server")
// log stuff
.to("direct:split");
from("direct:split")
// split CSV and aggregate the messages into separate files
.to("direct:save");
from("direct:save")
// save the files to a different FTP server
.end();
不过,在我要编写的测试中,我只想使用测试direct:split
端点——我将加载 CSV 并在本地保存新的 CSV,然后编写测试以将输出与我期望的结果进行比较要的输出。RouteBuilder
我会在我的测试中重写吗?或者我会以某种方式拉入direct:split
端点,然后只指定不同的开始和结束位置?
解决方案
您可以制作一些“子”路线,例如:
from("direct:split")
// make two subroutes
.to("direct:splitSubRouteOne")
.to("direct:splitSubRouteTwo");
from("direct:splitSubRouteOne")
// split CSV and aggregate the messages into separate files
// etc
;
from("direct:splitSubRouteTwo")
.to("direct:save");
然后,您可以通过发送到“direct:splitSubRouteOne”来测试您想要的部分(大概),这将测试该部分,而不是第二部分。
推荐阅读
- python - Python。嵌套字典列表:奇怪的行为
- azure - Azure New-AzureStorageBlobSasToken 返回不正确的 fulluri 字符串
- scala - Spark - 读取许多小型镶木地板文件可事先获取每个文件的状态
- python - 验证嵌套的 Flask WTForm 和删除/删除动态命名的表单(表单域)
- compiler-errors - Minizinc“完全正确”的问题。编译时出错
- php - php date() 函数没有给我正确的年份
- ios - 使用 Lottie 自定义 UIRefreshControl
- node.js - Sequelize 将 PSQL 设置为 VARCHAR(255) 无论我告诉它 TEXT(2048) 还是任何其他长度
- java - Spring Cloud 配置服务器禁用加密和解密端点
- javascript - 从谷歌地方自动完成选择值后防止输入框上的模糊