Same Step有多个When / Then

时间:2016-06-20 12:44:27

标签: cucumber protractor

我正在使用带有量角器的黄瓜。 在Cucumber中是否可以为同一方法提供多个注释?

例如:

this.Given(/^I log in as user '([^']*)' with password '([^']*)'$/
this.When(/^I log in as user '([^']*)' with password '([^']*)'$/, function(username, password) 
{
}

1 个答案:

答案 0 :(得分:1)

从Cucumbers的角度来看,GivenThen之间没有区别。不同的关键字只是为了增强.feature文件的可读性。实施这些步骤时,您可以选择使用其中任何一个步骤。

就个人而言,我绝不会考虑使用相同方法的两个不同的注释。一个就足够了。它重要的地方在场景中,我将使用我需要的任何东西。

与此同时,我对你为什么用一个Given和一个Then步骤来描述你的系统感兴趣,但实际上它们是相同的。 Given是准备被测系统的地方,Then是断言预期结果发生的地方。令我感到惊讶的是,在你的情况下它们实际上是相同的执行。也许是有原因的,但此刻我觉得很奇怪。