2012-04-11 8 views
8

Nei miei test rSpec testare la capacità di paperclip di caricare foto sul mio sistema e salvarle con un determinato utente.rSpec distrugge i file dopo il termine della suite

Questo è ottimo tuttavia al termine delle mie prove, ho tutti questi file extra sul mio sistema. Come faccio a cancellarlo automaticamente al completamento della mia suite di test.

grazie Mike

+0

dopo ogni si dovrebbe eseguire Photo.delete_all così si rimuove la voce db e l'immagine –

+0

sapere come eliminare la cartella degli allegati caricati in MINITEST? – Jwan622

risposta

5

non ho usato Paperclip, ma suppongo questi file vengono salvati in un posto un po 'costante, come ad esempio (esempio a caso) tmp/graffetta/foto/.

Se questo è il caso, all'interno della vostra spec_helper, è possibile aggiungere:

config.after(:suite) do # or :each or :all 
    Dir["#{Rails.root}/tmp/paperclip/**/*"].each do |file| 
     File.delete(file) 
    end 
end 
+1

Se si modifica l'ultimo '*' a '*. *', Si evita di provare a eliminare le directory. – thomasfedb

+0

Cosa succede se usi Minitest? – Jwan622

9

E 'più semplice per eliminare solo l'intera directory test. Inoltre, leggermente meno spese generali e più facili da leggere.

# spec_helper.rb 

config.after(:suite) do 
    FileUtils.rm_rf(Dir["#{Rails.root}/public/system/test"]) 
end 
+1

Si presume che si stia utilizzando: rails_env nel proprio percorso: path, come: 'percorso: ': rails_root/public/system /: rails_env /: class /: attachment /: id_partition /: style /: filename'' – Karen

Problemi correlati