factory_bot
and
factory_bot_rails
release
candidates were released this week thanks to
Joe and
Josh.
The big change is some great-looking new syntax. Check it out:
Old:
Factory.sequence :email do |n|
"email#{n}@example.com"
end
Factory.define :user do |factory|
factory.name { 'Ron Burgundy' }
factory.email { Factory.next(:email) }
end
Factory.define :admin, parent: :user do |factory|
factory.admin { true }
end
Factory.define :dog do |factory|
factory.name { 'Baxter' }
factory.association(:owner, factory: :user)
end
New:
FactoryBot.define do
sequence :email do |n|
"email#{n}@example.com"
end
factory :user, aliases: [:owner] do
name 'Ron Burgundy'
email
factory :admin do
admin true
end
end
factory :dog do
name 'Baxter'
owner
end
end
It reminds me of the difference between Rails 2.x routes and Rails 3.x routes.
Read the GETTING STARTED document in the repo, then try it in your app:
gem 'factory_bot_rails', '1.1.rc1'
Disclaimer:
Looking for FactoryGirl? The library was renamed in 2017. Project name history can be found here.