Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Factory Girl / Rails: Generator to create a factory for existing model?

I am using the rspec_rails and factory_girl_rails gems within my Rails project. All of the models are already created. Is there a generator that I can run that will create the factory file for an existing model?

Ex: I already have a Blog model. RSpec allows me to generator a model spec file at spec/models/blog_spec.rb by simply running the following:

rails generate rspec:model blog

Is there a generator that I can run in the command line that will generate the factory file for this existing model, located at: spec/factories/blogs.rb?

I did not see any mentions of generators within the factory_girl_rails docs.

like image 359
Neil Avatar asked Feb 27 '16 05:02

Neil


2 Answers

First configure Factory Girl.

config.generators do |g|
  g.fixture_replacement :factory_girl, dir: "spec/factories"
end

Then run the generator.

rails g factory_girl:model Blog name description total_visits:integer
like image 79
Rubysmith Avatar answered Sep 22 '22 12:09

Rubysmith


Updated Answer

Factory Girl has been renamed as Factory Bot

  1. Make sure to add factory_bot_rails gem in development & test group
  2. Then run rails g factory_bot:model Blog name description total_visits:integer

Example:


group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  gem 'pry-rails'
  gem 'rspec-rails', '~> 5.0.0'
  gem 'factory_bot_rails'
end
like image 39
illusionist Avatar answered Sep 24 '22 12:09

illusionist