Повторите предыдущий шаг Cucumber на основе логического утверждения на более позднем этапе. - PullRequest
0 голосов
/ 17 сентября 2018

Я учусь использовать Cucumber и у меня есть следующий сценарий:

Given a standard party
And a flight from "uk" to "europe"
When I search
And I receive search results
Then I can book my holiday

В шаге «Определение шага 2» я запрашиваю базу данных, используя JDBI, и получаю набор данных, который могу повторять и использовать какпоиск данных для шага 3 в API, к которому я отправляю запросы.Довольно часто не получают никаких результатов в первых 2 или 3 запрашиваемых строках.Это бесполезно для меня, потому что сценарий на самом деле не проверяет, возвращаются ли результаты (хотя это явно допустимый сценарий).

Что я действительно хочу, так это вернуть результаты, а затем утверждать, что могу забронировать- в пределах этого шага Def находятся проверки на правильную цену и т. д. *

Итак, если

And I receive search results

равно ложному, как я могу вернуться к

And a flight from.....
* 1013?* ... чтобы я мог попробовать следующий ряд данных.

Мой запрос в контексте определений шага огурца, каков наилучший / идиоматический способ сделать это, учитывая, что для каждого цикла находится на более раннем шаге?

Не раскрывая слишком много кода Step Def, существует ли общее соглашение для повторной попытки в таких случаях?Я не могу просто вызвать базовый метод поиска снова, потому что у меня есть много методов Step Def поиска, все приклеенные к шагам, и «И я получаю ....», в котором я получаю объект ответа, не имеет понятия предыдущего шага.

...