When including the factory_bot_rails gem in your dev and test blocks in Gemfile, rails will generate factories automatically when your models are generated.
Is there a way to generate factories after your models have been generated?
Note: FactoryBot was previously named FactoryGirl
FactoryBot's traits are an outstanding way to DRY up your tests and factories by naming groups of attributes, callbacks, and associations in one concise area. Imagine defining factories but without the attributes backed by a specific object.
First thing, look at the source project to find out how it was implemented:
https://github.com/thoughtbot/factory_bot_rails/blob/master/lib/generators/factory_bot/model/model_generator.rb
After that, try to guess how it works:
rails g factory_bot:model Car name speed:integer
The result is:
create test/factories/cars.rb
And the content:
# Read about factories at https://github.com/thoughtbot/factory_girl FactoryBot.define do factory :car do name "MyString" speed 1 end end
Remember, when you use rails g, you can always undo it, with rails d
rails d factory_bot:model Car name speed:integer
Note: FactoryBot was previously named FactoryGirl
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With