我使用 spring boot 的 @MockBean
(使用 @RunWith(SpringRunner.class)
),到目前为止一切正常。
然而,模拟为模拟类的每个方法提供了默认实现,所以我无法检查是否只调用了我期望调用的那些方法,即我想创建严格的模拟。
@MockBean
可以吗?
如果有人知道如何检查是否只调用了我预期的那些方法,我不会坚持创建严格的模拟。
提前感谢您的帮助!
问候,
五、
最佳答案
使用 Mockito,您可以验证是否调用了一个方法:
verify(mockOne).add("one");
或者它从未被调用(never() 是 times(0) 的更具可读性的别名):
verify(mockOne, never()).remove("two");
或者您可以验证没有调用其他方法:
verify(mockOne).add("one"); // check this one
verifyNoMoreInteractions(mockOne); // and nothing else
有关详细信息,请参阅 Mockito documentation .
关于java - 使用 spring boot 的 @MockBean 时创建严格的模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41975891/