我是junit mock的新手。
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)
Try
PowerMock.mockStatic(ClassThatContainsStaticMethod.class)
模拟该类的所有方法。
在通过powermock构造mock并通过easymock验证它们时也可能存在问题,所以请尝试:
PowerMock.expectNew(NewInstanceClass.class).andReturn(mockObject)