При напсании rspec тестов было замечено, что использование файлов в качестве аттачментов могут сильно замедлять их прогон. В моём случае связано это было с тем, что при привязывании картинок Piperclip производит много медленных действий по их конвертированию. Для того, чтобы ускорить прохождение тестов, можно отключить конвертирование, переопределив некоторые методы Piperclip.
Первое что нужно сделать - переопределить метод Piperclip.run:
# We stub some Paperclip methods - so it won't call shell slow commands
# This allows us to speedup paperclip tests 3-5x times.
module Paperclip
def self.run cmd, params = "", expected_outcodes = 0
cmd == 'convert' ? nil : super
end
endТак же необходимо переопределить Paperclip::Attachment.post_process:
class Paperclip::Attachment
def post_process
end
endДля Piperclip версий > 3.5.2 нужно внести некоторые изменения:
module Paperclip
def self.run cmd, arguments = "", interpolation_values = {}, local_options = {}
cmd == 'convert' ? nil : super
end
end
class Paperclip::Attachment
def post_process
end
endЭти действия позволят значительно ускорить прохождение тестов с использованием piperclip.