我继承了Rails(3)应用程序,并试图掌握现有的黄瓜测试.我在应用程序的“features”文件夹中有以下设置(我错过了任何不相关的文件,例如额外的功能和步骤)
- /features
- /people
- new-person.feature
- /step_definitions
- people_steps.rb
- web_steps.rb
- /support
- env.rb
- paths.rb
- selectors.rb
如果我运行’rake’,那么它会运行feature / people / new-person.feature中的所有功能,正确使用step_definitions中列出的步骤.
但是,我不想每次运行耙子,因为它需要太长时间,我只想在黄瓜中运行一个特定的测试,例如黄瓜特色/ people / new-person.feature -l 8
当我这样做,它运行的功能,但没有加载步骤.我回来了
- Using the default profile...
- Feature: Add a new person
- In order to allocate tasks to people
- As a community manager
- I want to add a new person
- Scenario: Secondary navigation should contain "Add new person" # features/people/new-person.feature:8
- Given I am on the new person page # features/people/new-person.feature:9
- Undefined step: "I am on the new person page" (Cucumber::Undefined)
- features/people/new-person.feature:9:in `Given I am on the new person page'
- Then I should not see "Add new person" # features/people/new-person.feature:10
- Undefined step: "I should not see "Add new person"" (Cucumber::Undefined)
- features/people/new-person.feature:10:in `Then I should not see "Add new person"'
- 1 scenario (1 undefined)
- 2 steps (2 undefined)
- 0m0.005s
- You can implement step definitions for undefined steps with these snippets:
- Given /^I am on the new person page$/ do
- pending # express the regexp above with the code you wish you had
- end
- Then /^I should not see "([^"]*)"$/ do |arg1|
- pending # express the regexp above with the code you wish you had
- end
- If you want snippets in a different programming language,just make sure a file
- with the appropriate file extension exists where cucumber looks for step definitions.
黄瓜为什么不加载步骤?我猜想我需要在某个地方采取步骤,但是我无法解决问题.
谢谢,最大
解决方法
马克斯·威廉姆斯找到了他的问题的答案:
在config / cucumber.yml中有一行如下所示:
std_opts =“–format#{ENV [‘CUCUMBER_FORMAT’] ||’pretty’} –strict –tags〜@ wip”
把它改成
std_opts =“–format#{ENV [‘CUCUMBER_FORMAT’] ||’pretty’} –strict –tags〜@ wip –require features /”