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

Cucumber 黄瓜步骤定义-必须使用给定的,然后。。。等,cucumber,calabash,Cucumber,Calabash,我必须使用给定的,然后,等等。。。当我进行步骤定义时 例如,在我的功能文件中,我有,然后在一个场景中登录到应用程序。在另一个场景中,我有并登录到应用程序 我不喜欢步骤定义中给出的所有然后和。有没有办法不必专门使用这些关键字和某种通配符?我考虑过在步骤定义中使用When。我只是讨厌把这些关键字混在一起,因为它们其实并不重要 我希望我可以在步骤定义文件中定义步骤,而不必在其前面使用各种(无意义的)关键字。如果您想在功能文件中更改此项,而不是使用步骤定义关键字之一(给定、何时、然后和,但是),您可以在

我必须使用给定的,然后,等等。。。当我进行步骤定义时

例如,在我的功能文件中,我有
,然后在一个场景中登录到应用程序。在另一个场景中,我有
并登录到应用程序

我不喜欢步骤定义中给出的所有
然后
。有没有办法不必专门使用这些关键字和某种通配符?我考虑过在步骤定义中使用
When
。我只是讨厌把这些关键字混在一起,因为它们其实并不重要


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

如果您想在功能文件中更改此项,而不是使用步骤定义关键字之一(给定、何时、然后和,但是),您可以在功能文件中使用星号(*)作为一种要点。范例

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文件定义步骤的关键字。这可用于更改步骤定义中使用的关键字

你可以用叉子叉小黄瓜,然后克隆它。然后编辑i18n.json以添加一种新语言,该语言使用您想要的任何关键字,而不是这些关键字。例如,它目前支持海盗。在此之后,您必须提交一个pull请求,让他们将语言定义添加到项目中,或者自己从克隆的fork()构建小黄瓜

这是添加语言的参考页


我希望在我的步骤定义中,我可以使用类似于
define(/I登录到应用程序/)
。。。我讨厌我的step文件有When's,Then's,And's,Given's。。。胡说八道。我希望我可以定义步骤而不必在前面使用关键字。我找到了一种可能的方法来更新Cumber以支持此功能。如需更多详细信息,请参阅编辑后的答案。如果您想添加通用定义,请定义对i18n的更改。jason将是最佳选择。不过,你可能需要在本地版本上运行,因为它不太适合cucumber的工作方式。谢谢你的回答。我希望我可以在步骤定义文件中使用*。我喜欢在功能文件中使用
给定的
然后在
时使用
。我只是不喜欢把它们混合到一个step_定义文件中。在我看来,这太草率了。idk。