Тесты Paperclip/Rspec: существует ли более быстрый способ проверки paperclip validates_attachment_content_type?

Одна вещь, которую я заметил, это то, что в большинстве проектов, которые я делаю, одна спецификация, которая всегда занимает много времени (30 секунд +), - это помощник toa/paperclip:

it { should validate_attachment_content_type(:bannerimage)
  .allowing('image/png', 'image/jpeg', 'image/gif', 'image/jpg')
  .rejecting('text/plain')
}

Мне бы очень хотелось сохранить проверку содержимого, но мне интересно, есть ли более быстрый способ сделать это. Я уже отмечаю эти тесты: медленным и запущенным rspec без: медленных спецификаций, но, тем не менее, я надеюсь, что у кого-то есть более быстрый способ тестирования типов контента изображения.

Ответ 1

Похоже, вы проводите собственные тесты против скрепки.

Как правило, я предоставляю поставщикам gem (особенно для таких крупных продуктов, как этот), чтобы убедиться, что их спецификации будут успешно работать до нажатия релиза.

Я вырезаю фактический материал скрепки из моих тестов, чтобы сделать их быстрее, как это, помещены в spec_helper.rb

# stub out paperclip? http://pivotallabs.com/stubbing-out-paperclip-imagemagick-in-tests/
# only like .1 seconds faster anyways though...
module Paperclip
  def self.run cmd, params = "", expected_outcodes = 0
    case cmd
    when "identify"
      return "100x100"
    when "convert"
      return
    else
      super
    end
  end
end

class Paperclip::Attachment
  def post_process
  end
end