2011-09-19 41 views
0

https://stackoverflow.com/questions/5282437/cucumber-pickle-factory-girl-given-a-returning-undefined-step - 这个帖子并没有帮助我很多。未定义泡椒步骤(再次)

的Gemfile:

gem 'rails' # 3.0.5 
gem 'capybara' # 1.1.1 
gem 'rspec-rails' # 2.6.1 
gem 'cucumber-rails' # 1.0.5 
gem 'database_cleaner' 
gem 'factory_girl_rails' # 1.2.0 
gem 'email_spec' 
gem 'pickle' # 0.4.8 

我做的:

rails new pickle_test 
bundle install 
rails g cucumber:install 
rails g rspec:install 
rails g pickle --paths --email 
rails g scaffold category title:string 
rake db:migrate 
rake db:test:prepare 
cucumber 

我:

$ cucumber 
Using the default profile... 
Feature: Manage categories 

    Scenario: list existed categories      # features/manage_categories.feature:3 
    Given a category exists, title: "First category ever" # features/manage_categories.feature:4 
     Undefined step: "a category exists, title: "First category ever"" (Cucumber::Undefined) 
     features/manage_categories.feature:4:in `Given a category exists, title: "First category ever"' 
    When I go to the categories page      # features/step_definitions/web_steps.rb:48 
    Then I should see "First category ever"    # features/step_definitions/web_steps.rb:105 

1 scenario (1 undefined) 
3 steps (2 skipped, 1 undefined) 
0m0.127s 

You can implement step definitions for undefined steps with these snippets: 

Given /^a category exists, title: "([^"]*)"$/ do |arg1| 
    pending # express the regexp above with the code you wish you had 
end 

注意,我什么都没有做,无论如何配置此测试应用程序,我不使用factory_girl或任何东西,而不是ActiveRecord。我相信它应该从那里起作用。腌菜本身已加载(使用puts进行测试),黄瓜使用environments/test.rb运行。

我缺少什么?

回答

0

你一步DEF没有使用正确的措辞。

缺省泡椒步骤(你应该感到自由,以使其适应您的应用程序/风格)预计如下:

考虑到与标题中存在一类:“第一类有史以来”

干杯, 伊恩

+0

对不起,我迟到的反馈。它说,同样的,即使我跟着导游:您可以实现一步定义,这些片段未定义的步骤: 鉴于/ ^类别标题为存在:“([^”] *)“$ /做| ARG1 | 待定#表达上面,你希望你有 结束 – denmarkin

+0

问题被关闭代码中的正则表达式 - 问题是FactoryGirl。 – denmarkin