Ho appena aggiunto convalide per un'immagine carrierwave a un modello e ora i test vengono eseguiti molto lentamente. Come posso accelerare questo processo? Mi sembra che ci debba essere un modo migliore.Test davvero lento con upload di file
ho corso senza convalide e usato per essere in grado di eseguire attraverso i miei test RSpec in circa 140 secondi, ma dato che ora convalidare presenza di :display_pic
ho dovuto aggiungere upload di file vero e proprio al mio fabbrica del progetto. Questo ha aumentato a 240 secondi! 140 era già dalla parte pesante, questo è solo pazzesco.
This is how the carrierwave github page recommends setting up Factory Girl:
FactoryGirl.define do
factory :project do
display_pic { File.open(File.join(Rails.root, 'spec', 'support', 'projects', 'display_pics', 'test.jpg')) }
end
end
ho preso una test.jpg sopra solo un file di testo vuoto, quindi è essenzialmente come piccolo un file come possibile.
Ho anche seguito la raccomandazione carrierwave al test di setup:
CarrierWave.configure do |config|
config.storage = :file
config.enable_processing = false
end
Preferirei non bypassare le convalide. In paperclip puoi riempire il campo dell'immagine con una stringa, speravo in qualcosa del genere. –
Grazie per la risposta, capisco che è logico che ci vorrà più tempo per caricare, il tempo di caricamento è comunque troppo per i miei scopi di test, sperando in qualche modo di ridurlo al minimo. –
Questa è la soluzione migliore che ho visto fino ad ora, e funziona, grazie –