2016-03-10 37 views
4

我需要运行一系列的单元测试,该类有一个@Autowired Logger实现。实现的基本思路是:注入一个对象,但InjectMocks间谍

@Mock Logger logger; 
@InjectMocks 
TestedClass tested; 

但我想保存日志记录输出功能。

Mockito lib允许使用@InjectMock注入对象吗?我看过@Spy注释的例子,但是当我尝试使用它时,我总是得到NullPointerException。我知道我总是可以直接使用反射,但是想法是避免这样的代码。

回答

4

好吧。如果没有答案,我必须自己回答。

要通过@InjectMock注释使用@Spy注释推活动对象:

@Spy 
Logger logger = LoggerFactory.getLogger(""); 
@InjectMocks 
TestedClass tested = new TestedClass(); 

的唯一的事情就是@Spy不能处理最后的(和其他一些东西)班的,关于这一点我打在我的情况。

相关问题