Mockito 中的@SpyBean 和@MockBean 有什么区别?
What is difference between @SpyBean and @MockBean in Mockito?
Mockito 中的@SpyBean
和@MockBean
注解有什么区别?
我已经阅读了 JavaDoc,但没有明白其中的区别。如果可能,请举例说明何时使用 MockBean 以及何时使用 SpyBean.
一个mock(不管我们说的是普通对象还是bean)就是一个"empty shell".
该模拟对象与基础生产代码没有 任何 关系。它是一个 看起来 像 class X 的对象的对象。但是 none X 具有的方法或字段 "really" 存在于那个嘲笑的东西。
而间谍 环绕 一个 现有 对象 class 正在测试。意思是:当你创建一个间谍时,你可以决定对间谍的方法调用是否应该是"intercepted"(然后你使用间谍就好像它是一个模拟);或 "passed through" 到间谍包围的实际对象。
请务必注意,您引用的两个注释来自 Spring Boot,而不是 Mockito(即使 spring 来自的库基于 Mockito)
混合测试框架会产生令人困惑和不准确的结果。
Mockito 中的@SpyBean
和@MockBean
注解有什么区别?
我已经阅读了 JavaDoc,但没有明白其中的区别。如果可能,请举例说明何时使用 MockBean 以及何时使用 SpyBean.
一个mock(不管我们说的是普通对象还是bean)就是一个"empty shell".
该模拟对象与基础生产代码没有 任何 关系。它是一个 看起来 像 class X 的对象的对象。但是 none X 具有的方法或字段 "really" 存在于那个嘲笑的东西。
而间谍 环绕 一个 现有 对象 class 正在测试。意思是:当你创建一个间谍时,你可以决定对间谍的方法调用是否应该是"intercepted"(然后你使用间谍就好像它是一个模拟);或 "passed through" 到间谍包围的实际对象。
请务必注意,您引用的两个注释来自 Spring Boot,而不是 Mockito(即使 spring 来自的库基于 Mockito)
混合测试框架会产生令人困惑和不准确的结果。