2015-07-03 4 views
4

У меня есть следующие строки в моем тесте:Захват аргументов ожидаемых вызовов методы несколько раз (EasyMock)

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

Это ожидание переходит, когда издевается проверяется, но myCapture.getValues().size() возвращает 1. Я ожидаю захват для каждого вызов метода. Как я могу захватить аргументы для обоих вызовов метода?

ответ

10

Существует параметр, называемый CaptureType, который определяет, что захвачено. По умолчанию этот параметр установлен в CaptureType.LAST, который фиксирует только последний параметр метода. Чтобы исправить это, создайте захват следующим образом:

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