在后续步骤中基于布尔断言重新运行先前的黄瓜步骤

时间:2018-09-17 13:51:02

标签: java cucumber gherkin

我正在学习使用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

在第二步的步骤定义中,我使用JDBI查询数据库,并接收一个数据集,该数据集可以进行迭代并将其用作向其发送请求的API中的步骤3的搜索数据。在查询的前2或3行中不接收任何结果是很常见的。这对我没有用,因为该场景并未真正测试是否返回结果(尽管显然是有效的场景)。

我真正想要的是获得结果,然后断言我可以预定-在Step Def中检查正确的价格等。

所以,如果

And I receive search results

等于false,如何返回

And a flight from.....

...以便我可以尝试下一行数据。

然后,我的查询是在“黄瓜步骤定义”的上下文中进行的,鉴于for循环位于较早的步骤中,这是最佳/惯用的方法是什么?

在不暴露太多Step Def代码的情况下,在这种情况下重试是否有通用约定?我不能简单地再次调用基础搜索方法,因为我有很多搜索步骤Def方法都粘在步骤上,并且“我接收......”在其中接收响应对象没有上一步的概念。

0 个答案:

没有答案