Mockito中的@SpyBean@MockBean批注有什么区别?

我已经看过JavaDoc,但没有发现不同。如果可能,请举例说明何时使用MockBean和何时使用SpyBean。

最佳答案

模拟(无论我们谈论的是普通对象还是豆)都只是一个“空壳”。

该模拟对象与基础生产代码没有任何关系。它看起来像是类X的对象。但是,在该可笑事物上,X所做的“确实”没有任何方法或字段。

而间谍环绕着您正在测试的类的现有对象。含义:创建间谍程序时,可以决定是否应“拦截”对间谍程序的方法调用(然后使用间谍程序,就好像它是模拟程序一样);或“传递”到间谍包裹的实际对象。

有关特定于Bean的示例,请参见here。或there ...

10-06 07:52