モデル生成のN+1対応
下記のように記述した時、review生成時にuserを毎回selectしてしまう。
let!(:user) { FactoryBot.create(:user) } # => insert user
let!(:draft_review) { FactoryBot.create(:review, :draft, user_id: user.id) }
# => select user + insert review
let!(:published_review) { FactoryBot.create(:review, :published, user_id: user.id) }
# => select user + insert review
下記のようにモデルを直接渡せばselectされない
let!(:draft_review) { FactoryBot.create(:review, :draft, user: user) }
# => insert review
詳細は下記にまとめています
https://qiita.com/ham0215/items/2943511a4336a77a6aed