通过InjectMocks Spy注入一个对象

时间:2016-03-10 21:45:13

标签: java mockito spy

我需要在一个具有@Autowired Logger实现的类上运行一系列单元测试。实现的基本思想是:

def subdomain(request):
   # something here

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

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

1 个答案:

答案 0 :(得分:5)

好。如果没有答案,我将不得不自己回答。

要通过@InjectMock注释推送实时对象,使用@Spy注释:

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

唯一的问题是@Spy无法处理最终(以及其他一些东西)类,我在这个类中遇到过。