让我们举一个例子(注意我使用的是PowerMock - Mockito)
Class A {
public void method1(Object obj)
{
}
}
现在,当我们使用mockit时,我们有这样的api: when(A.method1(obj2)).thenReturn(obj3);当调用方法时,我们可以访问传递给测试用例中method1的原始对象obj,而不是返回自定义对象obj3吗?
您需要使用thenAnswer()
。我认为签名应该是
public Object method1(Object obj)
不确定为什么要将从测试中传递的对象返回到测试中。在这种情况下,你到底想测试什么?
更新
看来你要找的是ArgumentCaptor
ArgumentCaptor<Object> captor = ArgumentCaptor.forClass(Object.class);
verify(a).method1(captor.capture());
Object realObject = captor.getValue()