如何在抽象父类中使用Mockito将mock注入到@Autowired字段。

问题描述 投票:0回答:1

我正在为一个有抽象超类的类写一个单元测试,ChildClass中的一个函数正在调用BaseClass中一个对象的方法。

ChildClass 看起来像这样。

public class ChildClass extends ParentClass {
    public void functionA(){
        objectFromParentClass.functionB();
    }
}

父类

public abstract class ParentClass {
    @Autowired
    protected typeFromParentClass objectFromParentClass;

    public void someFunction() {}
}

由于父类是抽象的 @InjectMocksReflectionTestUtils() 不起作用。有什么办法可以注入一个模拟的 objectFromParentClass 进入 ParentClass 与Mockito?

编辑:子类和父类都不是我写的,我只是在测试。

java mockito superclass
1个回答
0
投票

ReflectionTestUtils.setField() 在这种情况下,它是可行的


0
投票

https:/github.comexabrialmockito-object-injection。

这是我们写的一个Junit5扩展来解决这个问题。本质上,它需要一个对象的映射,并将它们注入到被测试类的字段中。完美地解决了InjectMocks的不足之处。

© www.soinside.com 2019 - 2024. All rights reserved.