@Mock 和 @InjectMocks 之间的区别

2024-03-06

有什么区别@Mock and @InjectMocks在 Mockito 框架中?


@Mock创建一个模拟。@InjectMocks创建类的实例并注入使用创建的模拟@Mock (or @Spy) 注释到此实例中。

注意你必须使用@RunWith(MockitoJUnitRunner.class) or Mockito.initMocks(this)初始化这些模拟并注入它们(JUnit 4)。

对于 JUnit 5,您必须使用@ExtendWith(MockitoExtension.class).

@RunWith(MockitoJUnitRunner.class) // JUnit 4
// @ExtendWith(MockitoExtension.class) for JUnit 5
public class SomeManagerTest {

    @InjectMocks
    private SomeManager someManager;

    @Mock
    private SomeDependency someDependency; // this will be injected into someManager
 
     // tests...

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

@Mock 和 @InjectMocks 之间的区别 的相关文章

随机推荐