我試圖用PowerMock來模擬一些第三方代碼,我遇到了一個擴展方法的問題。擴展方法PowerMock問題
所以我會給出一個片段顯示發生了什麼。
ClassA extends ClassB{
super();
}
ClassB extends ClassC{
super();
}
ClassC {
String methodA();
}
現在我試圖嘲笑ClassA,因爲這是我的代碼正在使用。模擬創造正常,但是當我添加的期望,像這樣:
expect(mockClassA.methodA()).andReturn("string");
我得到以下錯誤:
java.lang.IllegalStateException: missing behavior definition for the preceding method call methodA() at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:43) at org.powermock.api.easymock.internal.invocationcontrol.EasyMockMethodInvocationControl.invoke(EasyMockMethodInvocationControl.java:95) at org.powermock.core.MockGateway.doMethodCall(MockGateway.java:104) at org.powermock.core.MockGateway.methodCall(MockGateway.java:167) at .ClassC.methodA(ClassC.java)
對我缺少的是什麼有什麼想法?我知道我沒有包含太多的細節,但是我已經準備好使用符號進行測試的ClassA,我也只是將重放放在一個地方,以確保在設置期望之前我沒有錯誤地將mockClassA置於錯誤的狀態。
我使用powermock.version = 1.4.6,easymockclassextension = 3.0 – IAdapter 2011-01-04 13:03:16