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

时间:2015-03-04 16:01:52

标签: logging mockito

我正在将一个记录器(slf4j logger)注入一个类,并在我编写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,所以我得到一个空指针异常。

请告诉我可以做些什么?

1 个答案:

答案 0 :(得分:0)

在@InjectMocks之前放下以下代码

@Mock
Logger logger;

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