こんにちは、tahara です。
テストでも Paperclip を使っているモデルを FactoryGirl.create(:facility)
とかすると、
ImageMagick の convert コマンドなどが走ってしまいます。
これがなかなか重くてテストを遅くしちゃっています。
そこで Paperclip のサムネイル作成をスキップしてテストを高速化してみました。
spec/support/paperclip_stub.rb
module PaperclipStub
#21966 いこーよ: spec を Paperclip のサムネイル作成処理をスキップすることで高速化する
def self.included(spec)
spec.before do
allow_any_instance_of(Paperclip::Attachment).to receive(:post_process_file).and_return(nil)
# CMYKテストを飛ばす
allow(Paperclip).to receive(:run).and_return(nil)
end
end
end
各 spec で include
します。
describe Facility do
include PaperclipStub
...
これで Summary (4 workers in 507.3806s) > Summary (4 workers in 351.2692s)
となり 44.4% の高速化となしました。
(‘∇’)/゚・:【祝】:・゚\(‘∇’)
allow(Paperclip).to receive(:run).and_return(nil)
のとこは http://tech.actindi.net/3474323393 のスキップです。