我有一个使用以下方法的控制器调用服务:
Something send(SomeMessage message) {
binding.sendSomeMessage().send(MessageBuilder.withPayload(message).build());
}
@StreamListener(target = "SomeInput")
void listen(SomeResponse response) {
// do something...
}
现在,我需要对其进行测试。我只需使用mockMvc
就可以对控制器进行测试。它调用此服务的终结点,然后将我的消息发送到已定义的队列。我需要能够调用一些东西来模拟响应以触发该侦听器。
有可能吗?
看来您是spring-cloud-stream的新手,并且正在使用即将淘汰的旧的配置消息侦听器的方法。我们渴望切换到基于功能的模型,您可以找到有关如何测试here的详细信息和示例。如您所见,相同的测试方法适用于旧版StreamListeners
,下面是one of our tests,将向您展示如何执行此操作。但是,我建议切换到功能模型。它更简单,代码更少,配置更少。