Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RSpecの実行時間を1/5にした話

ham
November 13, 2019

 RSpecの実行時間を1/5にした話

ham

November 13, 2019
Tweet

More Decks by ham

Other Decks in Programming

Transcript

  1. モデル生成の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