Powermock java.lang.IllegalStateException:没有最后一次调用可用的模拟

Powermock java.lang.IllegalStateException: no last call on a mock available

我正在尝试在 class 中模拟一个静态方法。

PowerMock.mockStatic(WebUtils.class); 
EasyMock.expect(WebUtils.getRequest(EasyMock.anyObject(Object.class))).andReturn(httpServletRequest).anyTimes();
PowerMock.replayAll();

getRequest 是非最终静态方法。在第 2 行,JUnit 抛出以下错误。

java.lang.IllegalStateException: no last call on a mock available
    at org.easymock.EasyMock.getControlForLastCall(EasyMock.java:520)
    at org.easymock.EasyMock.expect(EasyMock.java:498)
    at --
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:68)
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:310)

Powermock 版本:1.6.2 & 运行 使用 PowerMockRunner.h

测试 class

检查是否正确设置了@PrepareForTest注解。