Заставить factory_girl работать в Rails3

На всю жизнь я не могу заставить factory_girl работать в Rails3. Я создал совершенно новое приложение. Мой гемфайл:

gem "rspec"
gem "rspec-rails"
gem "factory_girl_rails"

Генераторы в application.rb такие:

  config.generators do |g|
      g.test_framework :rspec, :fixture => true, :views => false, :fixture_replacement => :factory_girl
  end

Затем с помощью генератора создайте новую модель:

> rails g model Addon name:string

  invoke  active_record
  create    db/migrate/20101223205918_create_addons.rb
  create    app/models/addon.rb
  invoke    rspec
  create      spec/models/addon_spec.rb
   error      factory_girl [not found]

Что я пропустил? Конечно, я запускал bundle install... Я пытался поискать, но не смог найти приличной документации по factory_girl и rails3.


person swilliams    schedule 23.12.2010    source источник


Ответы (3)


Вам нужно https://github.com/indirect/rails3-generators.

Совместимые с Rails 3 генераторы для гемов, у которых их еще нет...

Генераторы Factory Girl перемещены в гем factory_girl_rails...

person TheDelChop    schedule 23.12.2010
comment
Не требуется с Rails 3.2... сейчас это немного устарело - person Ghoti; 04.09.2013

Это правильный подход в Rails 3.2 на сегодняшний день:

Rails.application.config.generators do |g|
  g.test_framework :rspec, fixture: true
  g.fixture_replacement :factory_girl, dir: 'spec/factories'
end
person Martin Streicher    schedule 30.08.2012
comment
Только что попробовал это с test/unit, и это не сработало. Это синтаксис только для RSpec? Я использовал: g.test_framework :test_unit, fixture: true и g.fixture_replacement :factory_girl - person Leo; 14.09.2012

Некоторые пользователи могут использовать factory_girl. Убедитесь, что вы используете factory_girl_rails.

person Dru    schedule 29.03.2013