Как я могу ускорить модульные тесты Rails, включающие загрузку / изменение размера изображения? - PullRequest
3 голосов
/ 25 сентября 2011

Мое приложение много делает с изображениями. Я использую скрепку, чтобы прикрепить их к моделям. У меня есть тонны тестов (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 Ответ

1 голос
/ 06 марта 2014

Этот фрагмент работал для меня:

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

  # tests...
end

Upd. В настоящее время я предпочитаю отключить ImageMagic в глобальном масштабе, добавив следующее в мой test_helper.rb:

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

(Адаптировано с здесь - кстати, вы можете взглянуть на эту статью, если вы заинтересованы в ускорении ваших тестов)

...