ruby-on-rails – Rails 4 Paperclip FactoryGirl文件上传
发布时间:2020-12-17 04:02:24 所属栏目:百科 来源:网络整理
导读:我有一个FactoryGirl:产品工厂,它使用fixture_file_upload来设置图像,这是一个Paperclip附件. image { fixture_file_upload "#{Rails.root}/spec/fixtures/images/product.png",'image/png' } fixture_file_upload运行正常,但每次测试使用工厂创建新产品时,
我有一个FactoryGirl:产品工厂,它使用fixture_file_upload来设置图像,这是一个Paperclip附件.
image { fixture_file_upload "#{Rails.root}/spec/fixtures/images/product.png",'image/png' } fixture_file_upload运行正常,但每次测试使用工厂创建新产品时,Paperclip都会在publicproducts /< id> /original.png中创建一个新文件.这是问题..在每次测试运行中填写文件夹publicproducts是不可接受的. 我能想到的第一个解决方法是https://github.com/carrierwaveuploader/carrierwave/wiki/How-to:-Cleanup-after-your-Rspec-tests中提到的解决方案 你以另一种方式解决了这个问题吗? 解决方法
Deep提到的解决方案是:
>指定测试环境中的回形针应将文件上传到文件夹test_uploads, 在代码中: 配置/环境/ test.rb ... config.paperclip_defaults = { path: ':rails_root/test_uploads/:class/:id/:attachment/:filename.:extension',url: ':rails_root/test_uploads/:class/:id/:attachment/:filename.:extension' } ... 规格/工厂/ products.rb image { fixture_file_upload "#{Rails.root}/spec/fixtures/images/product.png",'image/png' } rails_helper.rb ... include ActionDispatch::TestProcess config.after(:all) do if Rails.env.test? test_uploads = Dir["#{Rails.root}/test_uploads"] FileUtils.rm_rf(test_uploads) end end ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |