2015-10-22 60 views
0

即時通訊仿真新手。並試圖嘲笑下線。java.lang.IllegalStateException:沒有最後一個模擬靜態方法可用

IsomeInterface someinterface = someClass.getInstance(); 

其中someClassIsomeInterface的執行。 和getInstance是一個返回someClass對象的靜態方法。下面是 是我試過的嘲笑。

someClass someClassMock= PowerMock.createMock(someClass.class); 
EasyMock.expect(someClass.getInstance()).andReturn(someClassMock); 

例外:

java.lang.IllegalStateException: no last call on a mock available 
    at org.easymock.EasyMock.getControlForLastCall(EasyMock.java:560) 
    at org.easymock.EasyMock.expect(EasyMock.java:538) 

回答

0

嘗試

PowerMock.mockStatic(ClassThatContainsStaticMethod.class) 

嘲笑這一類的所有方法。

也有可能是在通過powermock構建模擬的問題,並通過了EasyMock驗證他們如此嘗試:

PowerMock.expectNew(NewInstanceClass.class).andReturn(mockObject) 
+0

感謝這個工作! – Manjunath

+0

所以請標記我的答案是正確的:) – kkhipis

相關問題