我的测试中有以下一行:
Capture<MyType> myCapture = Capture.newInstance();
expect(myMockedObject.myMethod(capture(myCapture)).andReturn(...).times(2);
当验证模拟但myCapture.getValues().size()
返回1时,会发生此期望。我期望每次方法调用都会捕获。如何捕获两个方法调用的参数?
答案 0 :(得分:14)
有一个名为CaptureType
的参数可以确定捕获的内容。默认情况下,此参数设置为CaptureType.LAST
,它仅捕获上次调用的方法参数。要解决此问题,请按以下方式创建捕获:
Capture<MyType> myCapture = Capture.newInstance(CaptureType.ALL);