首先给出测试方法的片段如下:
MyAgent rpc = new MyAgent("myAgentName");
PowerMockito.verifyPrivate(rpc).invoke("initNode");
PowerMockito.verifyPrivate(rpc).invoke("initPowerSwitch", Mockito.anyString(), Mockito.anyInt());
可以看出,测试方法的末尾要验证两个private方法确实被调用了。
在使用PowerMockito框架进行单元测试的过程中,发生如下异常:
org.mockito.exceptions.misusing.UnfinishedVerificationException:
Missing method call for verify(mock) here:
-> at org.powermock.api.mockito.internal.invocation.MockitoMethodInvocationControl.performIntercept(MockitoMethodInvocationControl.java:260)
Example of correct verification:
verify(mock).doSomething()
Also, this error might show up because you verify either of: final/private/equals()/hashCode() methods.
Those methods *cannot* be stubbed/verified.
首先从异常发生的位置,异常发生在验证测试结果的阶段,也就是说单元测试中的打桩和执行测试都已经顺利执行完毕,而验证测