Rails Rspec FactoryGirlでcallbackをskipする
Rspecでよくお世話になるFactoryGirlのやつ。
FactoryGirl callback skipです
before_createのせいでうまいことテストデータを作成できなく
callbackをスキップしたいことが起きたのでそのメモ
FactoryGirlとは
Rspecで使うためのテストデータを作成するためのGemです。
FactoryGirlでcallback
skip_callbackで特定の処理だけ飛ばすことができます。
reset_callbacksですべての処理を飛ばすことができます。
3つskipしたいものがあったので下記の様にパーセント記法を用いて記述しました。
%i
で要素がシンボルの配列を作ることができます。
FactoryGirl.define do factory :image do url 'https://localhost/image.png' after(:build) do Image._save_callbacks.select { |cb| %i[hoge_tmp moge_tmp huga_tmp].include?(cb.filter) }.each do |cd| Image.skip_callback hoge.name, hoge.kind end end end end
こんな感じに書けばいけるはずです。
うろおぼえウロボロス!