Я только что столкнулся с этой проблемой, она может помочь решить ее, сохранив файл в памяти, а не позволяя фабрике считывать образ с диска при каждом тесте. Я использую что-то вроде следующего.
DUMMY_IMAGE = File.open(File.join(Rails.root, 'spec', 'support', 'projects', 'display_pics', 'test.jpg'))
FactoryGirl.define do
factory :project do
display_pic DUMMY_IMAGE
end
end
Я думаю, что сэкономил около 10% времени на моем наборе тестов, но мой набор тестов является переменной переменной, поэтому я не могу быть абсолютно уверен. Во всяком случае, просто кое-что рассмотреть, если кто-нибудь ударит эту проблему.
Мне не очень нравится решение, которое требует от вас не проверять модель. Я думаю, что это похоже на ответ StringIO Вольфрама Арнольда, хотя я думаю, что этот способ немного легче понять.