我继承了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 /”