当我做一个步骤定义时,我是否必须使用Given,And,Then等...
例如,在我的功能文件中,我在一个场景中有Then I login to the app
。在另一种情况下,我有And I login to the app
。
我不喜欢步骤定义中的所有Then
And
Given
&s。有没有办法不必专门使用这些关键字并使用某种通配符?我已经考虑过在步骤定义中使用When
。我讨厌将所有这些关键词混合起来,无论如何它们真的很重要。
我希望我可以在step_definition文件中定义步骤,而不必在其前面使用各种(无意义的)关键字。
答案 0 :(得分:2)
如果要在功能文件中更改此功能,而不是使用其中一个步骤定义关键字(Given,When,Then,And,But),则可以在功能文件中使用星号(*)作为要点。实施例
Scenario: Test Scenario
* run a sample step
* run a different sample step
这将生成
Given(/^run a sample step$/) do
pending # express the regexp above with the code you wish you had
end
Given(/^run a different sample step$/) do
pending # express the regexp above with the code you wish you had
end
此外,Gherkin支持添加语言,这使用JSON文件来定义步骤的关键字。这可用于更改用于步骤定义的关键字。
你可以分叉Gherkin并克隆它。然后编辑i18n.json以添加一种新语言,该语言使用您想要的任何关键字而不是这些。它目前支持盗版。在此之后,你要么必须提交一个pull请求,要么将语言定义添加到项目中,要么自己从克隆的fork(https://github.com/cucumber/gherkin/blob/master/README.md)中构建Gherkin
以下是添加语言的参考页面