给予/何时/然后在黄瓜中弃用

Pra*_*har 1 cucumber ruby-on-rails-3

我用以下代码收到以下警告:

WARNING: Using 'Given/When/Then' in step definitions is deprecated, use 'step' to call other steps instead
Run Code Online (Sandbox Code Playgroud)

我怎么能纠正这个?

码:

Feature: Viewing tickets
 In order to view the tickets for a project
 As a user
 I want to see them on that project's page

Background:
 Given there is a project called "TextMate 2"
 And that project has a ticket:
 | title           | description                   |
 |  Make it shiny! | Gradients! Starbursts! Oh my! |
 And there is a project called "Internet Explorer"
 And that project has a ticket:
 | title                | description   |
 | Standards compliance | Isn't a joke. |
 And I am on the homepage

Scenario: Viewing tickets for a given project
  When I follow "TextMate 2"
  Then I should see "Make it shiny!"
  And I should not see "Standards compliance"
  When I follow "Make it shiny!"
  Then I should see "Make it shiny" within "#ticket h2"
  And I should see "Gradients! Starbursts! Oh my!"

  When I am on the homepage
  And I follow "Internet Explorer"
  Then I should see "Standards compliance"
  And I should not see "Make it shiny!"
  When I follow "Standards compliance"
  Then I should see "Standards compliance" within "#ticket h2"
  And I should see "Isn't a joke.
Run Code Online (Sandbox Code Playgroud)

非常感谢!

iaf*_*nov 7

在步骤定义中的某处,您使用以下构造:

Then "a file named '#{want_file}' should exist"
Run Code Online (Sandbox Code Playgroud)

相反,你应该使用

step("a file named '#{want_file}' should exist")
Run Code Online (Sandbox Code Playgroud)

或者(我认为首选) - 避免从另一个步骤中调用一步.最好重构定义并将共同部分提取到单独的类或方法中.