我有一个类,其中有一些示例中的方法。
public class TestClass {
public boolean aMethod()
{
voidMethod();
return true;
}
private void voidMethod()
{
... does something ...
}
... other methods ...
}
我想用powermock测试
aMethod
,除voidMethod
之外,所有方法均应正常工作。我已经创建了
TestClass
的部分模拟来使voidMethod
不起作用。但是我不知道如何期望调用此方法。testObject = createPartialMock(TestClass.class, "voidMethod");
expectPrivate(testObject, "voidMethod");
我在第二行出现错误:
EasyMock类型的方法Expect(T)不适用于参数(void)
如何解决此问题?
最佳答案
使用这样的简单调用:
testObject.voidMethod(); // don't use "expect" for voids
expectLastCall().times(3); // use this for expectations
而且,不要忘了您所期望的
reply()
和运行经过测试的代码后的verify()
。