При напсании 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.