2017-10-12 2 views
0

を使用してgetWcmModeを()モックする方法は、次のコードは、現在getWcmModeは()であるJavaの使用クラスがあります。isEdit(今)はAEMでmockito

、私はテストJavaでmockitoを使用して、このオブジェクトを模擬するために苦労していますクラス。私たちができることは何ですか?

+0

何を試しましたか?エラーが出ていますか? – awd

+0

getWcmMode()でNULLポインタを取得しています。 – user2581831

答えて

2

getWcmMode()WCMUsePojoの最終的な方法ですが、mockitoはデフォルトで最終的な方法を模倣することをサポートしていません。

あなたは、あなたがにwhenを使用することができます

mock-maker-inline 

をクラスパスにorg.mockito.plugins.MockMakerという名前のファイルを作成することでこれを有効(テストリソース/ mockito-extensionsフォルダに入れて)し、以下の1行を配置する必要があります関数の戻り値を通常どおり指定する -

@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. 

    }