関連の上塗り

属性の上塗りは紐付くオブジェクトを結び付けるのに使えます。

FactoryBot.define do
  factory :author do
    name { 'Taylor' }
  end

  factory :post do
    author
  end
end

eunji = build(:author, name: 'Eunji')
post = build(:post, author: eunji)

Ruby 3.1のHash表記でのバリューの省略対応は属性の上塗りにぴったり馴染む機能で、変数名の繰り返しになるところを削減できます。

author = build(:author, name: 'Eunji')

post = build(:post, author:)