簡體   English   中英

如何使用EasyMock模擬受保護的方法?

[英]How to use EasyMock to mock a protected method?

public class A{
    protected Integer methodA(String a){
        //some code is included;
        return new Integer(1);
    }
}
public class B extends B{
    String b = "AnyThing";
    methodA(b);
    //there are also other methods that will be tested
}

以下是部分測試代碼

B classUnderTest = createMockBuild(B.class).addMockedMethod(B.class.getDeclaredMethod(methodA(), String.class)).createMock;
expect(classUnderTest.methodA(anyObject(String.class))).andReturn(new Integer(1));

第二段代碼的第二行甚至無法通過編譯。 哪里錯了?

簡,關於您的主要問題,

expect(classUnderTest.methodA(anyObject(String.class))).andReturn(new Integer(1));

如果@Test類與要測試的主題位於同一個package ,則將成功編譯-在這種情況下,類AB (如果class B extends A )。 受保護的實例方法僅對同一包中的類可見。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM