illegalstateexception:没有对静态方法可用的mock的最后调用



我是junit mock的新手。

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)

Try

 PowerMock.mockStatic(ClassThatContainsStaticMethod.class)

模拟该类的所有方法。

在通过powermock构造mock并通过easymock验证它们时也可能存在问题,所以请尝试:

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

相关内容

  • 没有找到相关文章

最新更新