Захват аргументов

Помимо богатых возможностей по сравнению аргументов, позволяет подсмотреть, какой-же фактически аргумент был передан.

capture() это фактически матчер, поэтому его можно использовать в связке с любыми другими матчерами. Созданный capture объект может быть использовать в нескольких вызовах, но запомнит результат только последнего вызова. Это поведение можно изменить при создании capture объекта:

CaptureType.FIRST захватывает результат первого вызова, CaptureType.LAST захыватывает результат последнего вызова (это поведение по умолчанию). CaptureType.ALL сохраняет все результаты всех вызовов. Результаты можно получить вызовом getValues(), который вернёт список результатов:

Код примера доступен на github.