GIVEN和THEN中的定义相同......编写单个方法的方法是什么?

Sor*_*tas 1 ruby bdd cucumber

我有这个代码:

Given /^I wait for (\d+) seconds$/ do |seconds|
    $webClient.wait(seconds)
end
Then /^I wait for (\d+) seconds$/ do |seconds|
    $webClient.wait(seconds)
end
Run Code Online (Sandbox Code Playgroud)

我可以用一种覆盖THEN和GIVEN的方法以某种方式定义它吗?

谢谢

Bar*_*aun 5

您不需要两次定义相同的步骤.Given/When/Then主要是语法糖.

Given /^I wait for (\d+) seconds$/ do |seconds|
  $webClient.wait(seconds)
end
Run Code Online (Sandbox Code Playgroud)

通过上述步骤,您的功能中的以下任何内容都将按预期工作:

Given I wait for 15 seconds
When I wait for 12 seconds
And I wait for 8 seconds
Then I wait for 999 seconds
Run Code Online (Sandbox Code Playgroud)