-1

让我们举个例子(注意我使用的是 PowerMock - Mockito)

Class A {

public void method1(Object obj)
{

}

}

现在,当我们使用 mockito 时,我们有类似 when(A.method1(obj2)).thenReturn(obj3); 的 api。我们可以在测试用例中访问传递给 method1 的原始对象 obj,而不是在调用方法时返回自定义对象 obj3 吗?

4

1 回答 1

0

您将需要使用thenAnswer(). 我相信签名应该是

public Object method1(Object obj) 

不确定为什么要将相同的对象返回到您从测试中通过的测试中。在这种情况下,您实际上要测试什么?

更新

看起来你正在寻找的是ArgumentCaptor

ArgumentCaptor<Object> captor = ArgumentCaptor.forClass(Object.class);
verify(a).method1(captor.capture());
Object realObject = captor.getValue()
于 2013-03-20T06:28:37.397 回答