[英]How to inject mock into @Autowired field in an abstract parent class with Mockito
我正在为具有抽象超类的 class 编写单元测试,并且 ChildClass 中的一个函数正在从 BaseClass 调用 object 上的方法。
ChildClass
看起来像这样。
public class ChildClass extends ParentClass {
public void functionA(){
objectFromParentClass.functionB();
}
}
父 class
public abstract class ParentClass {
@Autowired
protected typeFromParentClass objectFromParentClass;
public void someFunction() {}
}
由于父 class 是抽象的@InjectMocks
并且ReflectionTestUtils()不起作用。 有没有办法用 Mockito 将模拟的objectFromParentClass
注入ParentClass
?
编辑:孩子和父母 class 都不是我写的,我只是在测试它。
ReflectionTestUtils.setField()
在这种情况下确实有效
https://github.com/exabrial/mockito-object-injection
这是我们为解决这个确切问题而编写的一个 Junit5 扩展。 本质上,它需要对象的 map 并将它们注入到被测 class 的字段中。 非常适合 InjectMocks 不足的地方!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.