首页 > 解决方案 > 记录器字段注入和单元测试

问题描述

我有以下代码:

@Component
public class MyBean {
    @Inject
    private Logger logger;

    private Service service;

    @Inject
    public MyBean(Service service) {
        this.service = service;
    }
}  

我使用构造函数注入是为了清楚地列出 MyBean 所需的依赖项,但我也决定对记录器使用字段注入(因为大多数类都需要构造函数中的这个额外参数,这感觉不对)。

我想使用 Mockito 进行测试,并且可以使用以下选项:

  1. @InjectMocks
    • 我已经在多个地方阅读以避免它
    • 在我的类初始化之前我无法配置模拟
  2. 使用 Whitebox 注入记录器
    • 使用反射
  3. 使用 SpringRunner
    • 是否真的有必要创建 Spring 上下文只是为了实例化一个类进行单元测试?

有没有更清洁的方法来做到这一点?

标签: springdependency-injectionmockito

解决方案


推荐阅读