序言
我的上一篇文章mockito和powermock的doAnswer使用以及Fake思想,在那里,我介绍了Fake的基本思想,以及doAnswer的用法。但是,这里有个问题,上面文章里面我实现的answer是一个固定了类型的,如果这样的话,每种类型我们都需要构造这样的answer,这是没有必要的,这次我就在上次的基础上构造通用的answer类。
通用的Answer
package com.mock;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
public class PersonPrinterAnswer implements Answer<Object> {
private Person person;
@Override
public Person answer(InvocationOnMock invocationOnMock) {
Object[] args = invocationOnMock.getArguments();
person = (Person) args[0];
return person;
}
public Person getPerson() {
return person;
}
}
这是我们上次的Answer实现方式。这个实现方式