2011-01-22 2 views
3

Я пытаюсь получить заводскую установку девушки с рельсами 3, но я получаю эту ошибку, когда я rake cucumber:Настройки фабрики девушка с огурцом и рельсы 3

[email protected]:~/rails-projs/simple-beach-63$ rake cucumber:wip 
(in /home/james/rails-projs/simple-beach-63) 
bundle exec /usr/bin/ruby1.8 -I "/usr/lib/ruby/gems/1.8/gems/cucumber-0.9.4/lib:lib" 

"/usr/lib/ruby/gems/1.8/gems/cucumber-0.9.4/bin/cucumber" --profile wip Using the wip profile... uninitialized constant Factory (NameError) /usr/lib/ruby/gems/1.8/gems/rspec-expectations-2.1.0/lib/rspec/expectations/backward_compatibility.rb:6:in const_missing' /usr/lib/ruby/gems/1.8/gems/factory_girl-1.3.3/lib/factory_girl/step_definitions.rb:25 /home/james/rails-projs/simple-beach-63/features/support/env.rb:8:in require' /home/james/rails-projs/simple-beach-63/features/support/env.rb:8

Вы можете тянуть и посмотреть когда вы получаете секунду?

У меня есть это в Gemfile:

gem 'factory_girl_rails' 
gem 'factory_girl' 

У меня есть это в функции/поддержка/env.rb

require "factory_girl/step_definitions" 
require "factory_girl" 
require File.dirname(__FILE__) + "/factories" 

, а затем я определяю фабрику в особенности/поддержки/factories.rb

Я был бы признателен за любую помощь

+0

Что произойдет, если вы используете factory_girl_rails камень вместо этого? – monocle

ответ

8

Вы должны просто эти шаги.

Gemfile:

group :development, :test do 
    gem "rspec-rails" 
end 

group :test do 
    gem "cucumber-rails" 
    gem "factory_girl_rails" 
end 

функции/поддержка/factory_girl.rb:

require 'factory_girl/step_definitions' 

спецификации/factories.rb:

# your Factory definitions. 
3

Дэн,

Я последовали за вашими шагами, но я все еще не могу использовать определения заводской девушки.

Когда я пытаюсь:

Given I am not logged in 
    And the following user exists: 
    | login | email    | password | confirmation | 
    | user50 | [email protected] | secret50 | secret 50 | 
... 

Я получаю следующее сообщение об ошибке:

Undefined step: "the following user exists:" (Cucumber::Undefined exception) 

You can implement step definitions for undefined steps with these snippets: 
Given /^the following user exists:$/ do |table| 
    # table is a Cucumber::Ast::Table 
    pending # express the regexp above with the code you wish you had 
end 

Любые идеи о том, чего не хватает?

+0

Вам необходимо «потребовать« factory_girl_rails »сначала в функциях/support/factory_girl.rb, поскольку определения шагов генерируются на ваших фабриках. – RobinGower

0

Проблема в том, что вы неправильно звоните в свой стол. Линия, которая вызывает таблицу из вашего художественного файла должно выглядеть следующим образом:

And the following user with <login> and <email> <password> and <confirmation> exists 

Ваше определение шаг должен выглядеть следующим образом:

And /^The following user with ([A-za-z0-9\[email protected]:]+) and ([A-za-z0-9\[email protected]:]+) ([A-za-z0-9\[email protected]:]+) and ([A-za-z0-9\[email protected]:]+) exists$/ do |login, email, password, confirmation|