简体   繁体   English

java.lang.IllegalStateException:没有对静态方法可用的模拟的最后一次调用

[英]java.lang.IllegalStateException: no last call on a mock available for static method

im new to junit mocking. 我是junit模拟的新手。 and im trying to mock below line. 和即时通讯试图嘲笑线以下。

IsomeInterface someinterface = someClass.getInstance();

where someClass is implementation of IsomeInterface . 其中someClass是实施IsomeInterface and getInstance is a static method which returns someClass object. getInstance是一个静态方法,该方法返回someClass对象。 below is the mocking i tried. 下面是我尝试过的嘲笑。

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

exception: 例外:

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)

Try 尝试

 PowerMock.mockStatic(ClassThatContainsStaticMethod.class)

to mock all methods of this class. 模拟此类的所有方法。

Also there can be a problem in constructing mock via powermock and verify them by easymock so try: 通过powermock构造模拟并通过easymock验证它们也可能存在问题,因此请尝试:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 PowerMock :: [java.lang.IllegalStateException:没有最后一次调用可用的模拟] - PowerMock:: [java.lang.IllegalStateException: no last call on a mock available] java.lang.IllegalStateException:对PowerMock和EasyMock可用的模拟没有最后一次调用 - java.lang.IllegalStateException: no last call on a mock available with PowerMock and EasyMock Java Easymock 抱怨“java.lang.IllegalStateException:void 方法无法返回值”或“没有最后一次调用可用的模拟” - Java Easymock complains with "java.lang.IllegalStateException: void method cannot return a value" or "no last call on a mock available" IllegalStateException-没有对模拟的最后一次调用 - IllegalStateException - no last call on a mock available java.lang.IllegalStateException:没有可用的事务性 EntityManager - java.lang.IllegalStateException: No transactional EntityManager available java.lang.IllegalStateException:没有可用的JTA UserTransaction - java.lang.IllegalStateException: No JTA UserTransaction available Vaadin 7:java.lang.IllegalStateException:推送不可用 - Vaadin 7 : java.lang.IllegalStateException: Push is not available 呼叫记录失败,并出现java.lang.IllegalStateException - Call Recording failed with java.lang.IllegalStateException java.lang.IllegalStateException:找不到方法? - java.lang.IllegalStateException: Could not find a method? 方法中带有@Async的java.lang.IllegalStateException - java.lang.IllegalStateException with @Async in method
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM