Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting factory_girl to work in Rails3

For the life of me, I can't get factory_girl to work in Rails3. I created a brand new application. My Gemfile:

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

The generators in application.rb like so:

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

Then, using the generator to create a new model:

> 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]

What'd I miss? I did run bundle install of course... I tried looking around, but can't find any decent documentation on factory_girl and rails3.

like image 854
swilliams Avatar asked Dec 23 '10 21:12

swilliams


3 Answers

What you need is https://github.com/indirect/rails3-generators.

Rails 3 compatible generators for gems that don't have them yet...

The Factory Girl generators have moved to the factory_girl_rails gem...

like image 57
TheDelChop Avatar answered Oct 21 '22 07:10

TheDelChop


This is the proper approach in Rails 3.2 as of today:

Rails.application.config.generators do |g|
  g.test_framework :rspec, fixture: true
  g.fixture_replacement :factory_girl, dir: 'spec/factories'
end
like image 25
Martin Streicher Avatar answered Oct 21 '22 06:10

Martin Streicher


Some users may be using factory_girl. Make sure that you are using factory_girl_rails.

like image 22
Dru Avatar answered Oct 21 '22 05:10

Dru