Posted at

Rspecのcarrierwaveを実行した後のファイルを削除

More than 1 year has passed since last update.


はじめに

毎回Rspecを実行した後画像は増えてきて困ることで、削除したい手順です。


手順

1.Rspec実行してアップロードされた画像を異なるディレクトリに配置


qiita.rb

class MyFileUploader < CarrierWave::Uploader::Base

def store_dir
if Rails.env.test?
"MyFile/#{Rails.env}/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
else
"MyFile/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end

2.spec/rails_helperで下記のような、after(:all)でテストの最後に実行されます


qiita.rb

config.after(:all) do

if Rails.env.test?
FileUtils.rm_rf(Rails.root + "public/MyFile/#{Rails.env}/")
end
end


参考資料

https://github.com/carrierwaveuploader/carrierwave/wiki