0
在AEM嘲笑getWcmMode(),有一個Java使用類,其中下面的代碼存在getWcmMode()。isEdit()如何使用的Mockito
現在,我奮力嘲笑在測試Java使用的Mockito這個對象類。有什麼辦法可以做到嗎?
在AEM嘲笑getWcmMode(),有一個Java使用類,其中下面的代碼存在getWcmMode()。isEdit()如何使用的Mockito
現在,我奮力嘲笑在測試Java使用的Mockito這個對象類。有什麼辦法可以做到嗎?
getWcmMode()
是WCMUsePojo
中的最後一種方法,mockito默認不支持嘲笑final方法。
你將不得不通過創建一個在類路徑(把它放到測試資源/的Mockito的擴展文件夾)命名org.mockito.plugins.MockMaker
文件來啓用它,並把下面一行
mock-maker-inline
那麼你可以使用when
來照常指定函數返回值 -
@Test
public void testSomeComponetnInNOTEDITMode() {
//setup wcmmode
SightlyWCMMode fakeDisabledMode = mock(SightlyWCMMode.class);
when(fakeDisabledMode.isEdit()).thenReturn(false);
//ComponentUseClass extends WCMUsePojo
ComponentUseClass fakeComponent = mock(ComponentUseClass.class);
when(fakeComponent.getWcmMode()).thenReturn(fakeDisabledMode);
assertFalse(fakeComponent.getWcmMode().isEdit());
//do some more not Edit mode testing on fakeComponent.
}
你試過了什麼?你有錯誤嗎? – awd
在getWcmMode()處獲取空指針。 – user2581831