java - 如何使用 Mockito 将模拟注入(inject)抽象父类中的 @Autowired 字段

标签 java mockito superclass

我正在为一个具有抽象父类(super class)的类编写单元测试,ChildClass 中的函数之一是调用 BaseClass 的对象上的方法。

ChildClass 看起来像这样。

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

父类

public abstract class ParentClass {
    @Autowired
    protected typeFromParentClass objectFromParentClass;

    public void someFunction() {}
}

由于父类是抽象的@InjectMocks并且ReflectionTestUtils()不起作用。有什么方法可以使用 Mockito 将模拟的 objectFromParentClass 注入(inject)到 ParentClass 中吗?

编辑:Child 和 Parent 类都不是我编写的,我只是测试它。

最佳答案

ReflectionTestUtils.setField() 在这种情况下确实有效

关于java - 如何使用 Mockito 将模拟注入(inject)抽象父类中的 @Autowired 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62171116/

相关文章:

java - 为继承字段添加特定值

java - 收集java流中字段的总和

java - 尝试编译 AspectJ 教程应用程序时出现问题

java - 有没有办法合法地转换 Mockito 模拟对象?

java - 无法模拟通用对象创建

java - 摩基托 : How to Verify that a parameter is an Object with a specific parameter?

android - 当我从一个选项卡单击到另一个选项卡时,如何使选项卡在 TabLayout 中不可滚动

java - Spring Security 教程不适用于 Tomcat 服务器

java - 无法自动配置 session 存储库,请检查您的配置( session 存储类型为 'null' )

java - 为什么动态绑定(bind)和从父类调用子方法的设计不同?