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

时间:2015-07-03 10:42:16

标签: java junit easymock

我的测试中有以下一行:

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

当验证模拟但myCapture.getValues().size()返回1时,会发生此期望。我期望每次方法调用都会捕获。如何捕获两个方法调用的参数?

1 个答案:

答案 0 :(得分:14)

有一个名为CaptureType的参数可以确定捕获的内容。默认情况下,此参数设置为CaptureType.LAST,它仅捕获上次调用的方法参数。要解决此问题,请按以下方式创建捕获:

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