我对junit嘲笑很新。而我试图在线下嘲笑。
IsomeInterface someinterface = someClass.getInstance();
其中someClass
是IsomeInterface
的实施。
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 :(得分:0)
尝试
PowerMock.mockStatic(ClassThatContainsStaticMethod.class)
模拟此类的所有方法。
也可能存在使用powermock构建模拟并通过easymock验证它们的问题所以尝试:
PowerMock.expectNew(NewInstanceClass.class).andReturn(mockObject)