@Mock @InjectMock
时间: 2023-07-06 10:34:15 浏览: 84
@Mock和@InjectMocks都是Mockito框架中用于创建和注入模拟对象的注解。
@Mock注解用于创建一个模拟对象(Mock)。当测试类中MockitoAnnotations.initMocks()方法被调用时,所有被@Mock注解标注的对象都会被创建。
@InjectMocks注解用于注入被测试类依赖的模拟对象。当测试类中MockitoAnnotations.initMocks()方法被调用时,所有被@InjectMocks注解标注的对象都会被注入到测试类中。
举个例子:
```
public class ExampleServiceTest {
@Mock
private ExampleDao exampleDao;
@InjectMocks
private ExampleService exampleService;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
@Test
public void testExample() {
// 使用exampleService进行测试
}
}
```
在上面的例子中,@Mock注解用于创建ExampleDao的模拟对象,@InjectMocks注解用于注入ExampleService的模拟对象。当MockitoAnnotations.initMocks(this)方法被调用时,exampleDao的模拟对象会被创建,exampleService的模拟对象会被注入到测试类中,测试方法中可以直接使用exampleService进行测试。
阅读全文