多次捕获预期方法调用的参数(EasyMock)

Capture arguments to expected method calls multiple times (EasyMock)

我的测试中有以下行:

Capture<MyType> myCapture = Capture.newInstance();
expect(myMockedObject.myMethod(capture(myCapture)).andReturn(...).times(2);

当模拟被验证时,这个期望通过了,但是 myCapture.getValues().size() returns 1. 我期待每个方法调用的捕获。如何捕获两个方法调用的参数?

有一个名为 CaptureType 的参数决定捕获的内容。默认情况下,此参数设置为 CaptureType.LAST,它只捕获最后调用的方法参数。要解决此问题,请像这样创建捕获:

Capture<MyType> myCapture = Capture.newInstance(CaptureType.ALL);