黄瓜步骤定义 - 必须使用给定,然后,等等?

时间:2014-12-08 15:50:09

标签: cucumber calabash

当我做一个步骤定义时,我是否必须使用Given,And,Then等...

例如,在我的功能文件中,我在一个场景中有Then I login to the app。在另一种情况下,我有And I login to the app

我不喜欢步骤定义中的所有Then And Given&s。有没有办法不必专门使用这些关键字并使用某种通配符?我已经考虑过在步骤定义中使用When。我讨厌将所有这些关键词混合起来,无论如何它们真的很重要。

我希望我可以在step_definition文件中定义步骤,而不必在其前面使用各种(无意义的)关键字。

1 个答案:

答案 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

以下是添加语言的参考页面

https://github.com/cucumber/cucumber/wiki/Spoken-languages