Вы можете использовать thenAnswer
, вероятно, в сочетании с ArgumentCaptor для достижения этого.
Но реальный ответ: подумайте, не делайте этого.
Юнит-тесты должны быть простыми.Когда что-то не получается, вы быстро смотрите на модульный тест, и вы уже знаете, где искать производственный код, чтобы определить причину.Все, что усложняет ваши тесты , может усложнить это.
Другими словами: вместо того, чтобы придумывать сложный тест код, который дает динамические результаты ... лучше написатьнесколько простых тестов.Вы контролируете то, что идет в вашем тесте.Поэтому, когда вам нужны тесты, которые получают 2, 3, 5 аргументов, и вам нужно возвращать 2, 3, 5 элементов для каждого случая: напишите 3 разных теста.