【发布时间】:2021-06-17 02:07:44
【问题描述】:
我有一个 JMS Spring Boot 项目,我正在尝试使用我的 JMS 侦听器进行集成测试,并且我使用 mockito 模拟来模拟带有外部服务调用的 bean。
在测试期间,我遇到了Mockito.when / thenReturn 在我的 JMS 侦听器中返回 null 的问题。
我使用@MockBean 处理有问题的服务,但是当我使用@Bean 并返回Mockito.mock 时,我的模拟中不再获得null 值。
有谁知道为什么@MockBean 这样定义会有区别
@MockBean
private Service myService;
和@Bean 这样定义
@Bean
private Service myService(){
return Mockito.mock(Service.class);
}
在测试 JMS 侦听器时?请注意,春季测试将在thread[main],JMS 侦听器将在thread[DefaultMessageListenerContainer-1] 侦听。
【问题讨论】:
标签: spring-boot junit mockito spring-test