2017-06-14 33 views
1

如何在Junit中使_logger.isDebugEnabled()條件爲false?如何在Junit中使_logger.isDebugEnabled()條件爲false?

private static final Logger _logger = Logger.getLogger(InstanceReleaseMachine.class); 

if (_logger.isDebugEnabled()) 
     { 
      _logger.debug("Error from Releasing Instance: " + failure); 
     } 

我試過我的知識,我不能做到這一點,請讓我知道是否有人這樣做。

+2

通常的方法是不實例在同一類的依賴性使用它,但它注入。 投降這個很常見但不好的設計是使用PowerMock。 –

回答

1

可以在單元測試設置級別= OFF編程:

Logger.getRootLogger().setLevel(Level.OFF); 
+0

是的,你可以做到這一點。但因爲這是共享的靜態狀態,所以你可以通過這樣做來打破另一個測試。測試不應該依賴於共享的靜態狀態(應用程序也不應該,如果可以避免的話) –

+0

這真的很棒,爲我工作 –

相關問題