如何加快涉及图像上传/调整大小的Rails单元测试?

时间:2011-09-25 04:53:51

标签: ruby-on-rails unit-testing paperclip testunit

我的应用程序对图像做了很多。我用回形针将它们附加到模型上。我有很多涉及创建图像的测试(Test :: Unit),这些测试运行得很慢。

我使用FactoryGirl在我的测试中创建模型。这就是我创建图像附件的方式:

factory :product_image_100_100 do
    image File.new(File.join(::Rails.root.to_s, "/test/fixtures/images", "100_100.jpg"))
end

如何假冒图片上传或以其他方式加快速度?

1 个答案:

答案 0 :(得分:1)

This snippet为我工作:

require 'test_helper'
class PhotoTest < ActiveSupport::TestCase
  setup do
    Paperclip::Attachment.any_instance.stubs(:post_process).returns(true)
  end

  # tests...
end

更新。我目前的偏好是通过在test_helper.rb中添加以下内容来全局存取ImageMag:

module Paperclip
 def self.run(cmd, *)
   case cmd
   when "identify"
     return "100x100"
   when "convert"
     return
   else
     super
   end
 end
end

(改编自here - btw,如果您对加快测试感兴趣,可能需要查看本文)