我需要在具有@Autowired Logger实现的类上运行一系列单元测试。实现的基本思想是:
@Mock Logger logger;
@InjectMocks
TestedClass tested;
Run Code Online (Sandbox Code Playgroud)
但我想保存日志输出功能。
Mockito lib是否允许使用@InjectMock注入对象?我看过@Spy批注的示例,但是当我尝试使用它时,我总是收到NullPointerException。我知道我总是可以直接使用反射,但是这样做的目的是避免使用此类代码。
好。如果没有答案,我必须自己回答。
要通过@InjectMock批注推送活动对象,请使用@Spy批注:
@Spy
Logger logger = LoggerFactory.getLogger("");
@InjectMocks
TestedClass tested = new TestedClass();
Run Code Online (Sandbox Code Playgroud)
唯一的问题是@Spy无法处理final(以及其他一些东西)类,在我的案例中,我要继续这样做。
归档时间: |
|
查看次数: |
3104 次 |
最近记录: |