在使用Spring Boot的@MockBean时创建严格模拟?

Vik*_*tor 5 java spring mockito spring-boot

我使用@MockBean弹簧靴(带@RunWith(SpringRunner.class))到目前为止一切都很好.
然而,mock为mocked类的每个方法提供了默认实现,所以我无法检查是否只调用那些我希望被调用的方法,即我想创建严格的mock.
这有可能@MockBean吗?

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

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

问候,
V.

Fra*_*man 7

使用 Mockito,您可以验证某个方法是否被调用:

verify(mockOne).add("one");
Run Code Online (Sandbox Code Playgroud)

或者它从未被调用过(never() 是 times(0) 更易读的别名):

verify(mockOne, never()).remove("two");
Run Code Online (Sandbox Code Playgroud)

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

verify(mockOne).add("one"); // check this one
verifyNoMoreInteractions(mockOne); // and nothing else
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅Mockito 文档