我想测试我的私有模拟方法,每次调用时都会调用我开始测试的方法。 private方法应该只更改参数列表的成员。以下是我的配置
MyClass myObject = PowerMockito.spy(new MyClass());
PowerMockito.doAnswer(new Answer() {
public Object answer(InvocationOnMock invocation) {
log.info("answer started");
Object[] args = invocation.getArguments();
if (args[0] != null) {
//change the first argument
}
return null;
}
}).when(myObject, method(MyClass.class, "myMethod"));
myMethod看起来像这样:
private void myMethod(List<AnotherObject> anotherList){...}
问题是这个配置不足以调用mock:
日志行没有出现。
我尝试只编写方法名称并添加如下参数:
when(myObject, "myMethod", myAnotherList);
when(myObject, "myMethod", anyList());
when(myObject, method(MyClass.class, "myMethod")).withArguments(myAnotherList);
when(myObject, method(MyClass.class, "myMethod")).withArguments(anyList());
其中一些包含错误,其中一些未被完全调用。 你能帮我配置一下吗?