Как заставить смоделированный метод возвращать последовательность значений с последовательностью вызовов - PullRequest
0 голосов
/ 27 марта 2020

Это такой базовый c вопрос, который я уверен, что мне придется удалить как обман ... но я не нашел ответ.

В тесте: я думал, что я попробую что-нибудь подобное. То, что я пытаюсь сделать, это заставить его вернуть «333» первого вызова и «555» второго вызова.

gb.reader = Mock( XMLStreamReader ){
    getAttributeValue( _, _ ) >> [ '333', '555' ]
}

В коде приложения:

int id = reader.getAttributeValue( null, 'ID').toInteger()

Результат:

java.lang.NumberFormatException: For input string: "[333, 555]"

Первая мысль, которая приходит в голову: нам нужен генератор. Но это Groovy, а не Python.

1 Ответ

1 голос
/ 28 марта 2020

Просто используйте >>>, см. Руководство по Споку, глава "возвращение последовательностей значений" .

...