2016-03-10 35 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不能處理最後的(和其他一些東西)班的,關於這一點我打在我的情況。

相關問題