java – 使用Spring引导的@MockBean时创建严格模拟?

我使用Spring引导的@MockBean(使用@RunWith(SpringRunner.class)),到目前为止一切正常.
然而,mock为mocked类的每个方法提供了默认实现,所以我无法检查是否只调用那些我希望被调用方法,即我想创建严格的mock.
@MockBean可以吗?

如果有人知道如何只检查那些我预期的方法,我不会坚持创建严格的模拟.

我在这里先向您的帮助表示感谢!

问候,
V.

最佳答案
使用Mockito,您可以验证方法是否被调用

verify(mockOne).add("one");

或者从未调用过(never()是时间(0)的可读别名):

verify(mockOne,never()).remove("two");

或者您可以验证没有调用其他方法

verify(mockOne).add("one"); // check this one
verifyNoMoreInteractions(mockOne); // and nothing else

有关更多信息,请参阅Mockito documentation.

相关文章

Spring Cloud为Spring Boot应用程序提供Netflix OSS集成。 提供的功能模块包括服务发现(Eureka),断路...
Spring Cloud 学习笔记;maven配置;入门学习;基于Spring Boot 实现;服务端配置,客户端配置;
可以毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的...
Spring中各种方式进行日期时间处理,有作用于单个实体的,也有作用于全局的,有作用于请求入参的,有作...
跨域资源共享(Cross-origin resource sharing)(CORS)是W3C的标准,大部分的浏览器都实现了这个标准...
Spring Boot使创建基于Spring的应用程序变得轻松,大部分的SpringBoot应用程序都只需要很少的Spring配置...