@运行junit测试时,Inject不起作用



我将一个记录器(slf4j记录器)注入到一个类中,并在我的方法中使用它,我已经为该方法编写了junit测试。

例如

class A{
  @Inject
  Logger logger;

  public void methodA(){
    this.logger.info("helo logs");
    return true;
  }
}

现在在junit测试中,我使用的是Mockito

@InjectMocks
A obj;
public void testmethod(){
  boolean res = obj.methodA();
  Assert.assertEquals(true,res);
}

这只是一个示例,这是作为一个maven项目出现的。现在,当我在maven中进行干净安装时,所有的junit测试都在运行,并且由于没有注入logger,我得到了一个空指针异常。

请告诉我能做些什么??

将以下代码放在@InjectMocks 之前

@Mock
Logger logger;

@Inject仅适用于Spring或其他Bean容器。Mockito只注入测试类中定义的@Mocks

最新更新