Mockito中的@SpyBean
和@MockBean
批注有什么区别?
我已经看过JavaDoc,但没有发现不同。如果可能,请举例说明何时使用MockBean和何时使用SpyBean。
最佳答案
模拟(无论我们谈论的是普通对象还是豆)都只是一个“空壳”。
该模拟对象与基础生产代码没有任何关系。它看起来像是类X的对象。但是,在该可笑事物上,X所做的“确实”没有任何方法或字段。
而间谍环绕着您正在测试的类的现有对象。含义:创建间谍程序时,可以决定是否应“拦截”对间谍程序的方法调用(然后使用间谍程序,就好像它是模拟程序一样);或“传递”到间谍包裹的实际对象。
有关特定于Bean的示例,请参见here。或there ...