【发布时间】:2023-03-03 02:19:01
【问题描述】:
假设我有以下路线:
from(rabbitMQUri)
.to(myCustomerProcessor)
.choice()
.when(shouldGotoA)
.to(fizz)
.when(shouldGotoB)
.to(buzz)
.otherwise()
.to(foo);
让我们假设myCustomProcessor根据从RabbitMQ消费的消息调整shouldGotoA和shouldGotoB。
我想对 3 个场景进行单元测试:
- 一条“fizz”消息被消费,
shouldGotoA设置为 true,执行第一个when(...)。 - 一条“buzz”消息被消费,
shouldGotoB设置为 true,执行第二个when(...)。 - 一条“foo”消息被消费,
otherwise()被执行。
我的问题是:我如何模拟/存根 RabbitMQ 端点,以便路由在生产中正常执行,但这样我就不必实际将测试连接到 RabbitMQ 服务器?我需要某种“模拟消息”生产者。
代码示例或 sn-p 会非常有帮助,非常感谢!
【问题讨论】:
标签: java testing mocking apache-camel