1
我想單元測試一個處理消息記錄的代碼,這會帶來很多環境依賴性。此消息記錄器是所有開發人員跨團隊使用的框架。由於Logging類是一個靜態類,因此我使用了PowerMock。爲什麼PowerMock試圖加載server.xml文件,如果靜態類被嘲笑?
雖然使用Power Mock後Junit單元測試運行綠色,但它仍嘗試加載server.xml文件。
調用類是如下
的單元測試類調用 - >靜態記錄器類calls->靜態環境類。
該靜態環境類負責加載和解析server.xml文件。
我曾嘗試以下以及但即便如此,它的特林加載XML文件:
@RunWith(PowerMockRunner.class)
@PrepareForTest({Logger.class,EnvFunctions.class})
PowerMockito.mockStatic(Logger.class);
PowerMockito.mockStatic(EnvFunctions.class);
我是否需要爲它做一些額外的工作,不再試圖加載該文件?
我想模擬一個靜態void類,並試圖使用doNothing和supress。但它不工作
doNothing.when(Logger.class);
suppress(everythingDeclaredIn(Logger.class));