InjectMocks 抽象类
时间: 2023-07-20 14:17:29 浏览: 278
抽象类实例
@InjectMocks注解可以用于抽象类。但是需要注意的是,如果你想要使用@InjectMocks注解自动注入抽象类中的mock对象,那么你需要使用一个具体的子类来实例化抽象类。
具体来说,你需要先创建一个具体的子类,然后在测试中使用@InjectMocks注解标注在该子类上,这样就可以自动注入抽象类中的mock对象了。例如:
```java
public abstract class MyAbstractClass {
public abstract void doSomething();
}
public class MyConcreteClass extends MyAbstractClass {
public void doSomething() {
// implementation
}
}
@RunWith(MockitoJUnitRunner.class)
public class MyTestClass {
@Mock
private MyDependency myDependency;
@InjectMocks
private MyConcreteClass myConcreteClass;
@Test
public void test() {
// test code
}
}
```
在这个例子中,我们创建了一个抽象类`MyAbstractClass`和一个具体实现类`MyConcreteClass`,然后在测试类中使用@InjectMocks注解标注在`MyConcreteClass`上,这样就可以自动注入抽象类中的mock对象了。这里我们还使用了@Mock注解来创建一个mock对象`myDependency`,用于模拟被测试类中的依赖。
阅读全文