@Mock与@InjectMocks的区别

@Mock: 创建一个Mock.

@InjectMocks: 创建一个实例,简单的说是这个Mock可以调用真实代码的方法,其余用@Mock(或@Spy)注解创建的mock将被注入到用该实例中。

注意:必须使用@RunWith(MockitoJUnitRunner.class) 或 Mockito.initMocks(this)进行mocks的初始化和注入。

复制代码
@RunWith(MockitoJUnitRunner.class)  
public class Test {  
  
    @InjectMocks  
    private SomeHandler someHandler;  
  
    @Mock  
    private OneDependency oneDependency; // 此mock将被注入到someHandler  

    // ...   
}  
复制代码
posted @ 2018-07-26 10:52  董永辉Bruno  阅读(11174)  评论(0编辑  收藏  举报