2013-03-06 12 views
5

Ho creato un minitest.rake, come da ryan bates railscast (http://railscasts.com/episodes/327-minitest-with-rails).Perché il mio minitest.rake è in esecuzione due volte quando inserisco il rake nel terminale?

Quando corro rastrello nel terminale, il test viene eseguito, e quindi esegue nuovamente prima di ripristinare la linea di comando.

require "rake/testtask" 

Rake::TestTask.new(:test => "db:test:prepare") do |t| 
    t.libs << "test" 
    t.pattern = "test/**/*_test.rb" 
end 

task default: :test 

risposta

3

Suppongo che tu abbia già un'attività con un nome definito. Se si definisce una nuova attività con lo stesso nome, questa viene aggiunta a una già esistente.

Cosa succede se si rimuove o commenta questo codice e si fa rake -T, sarà test compito essere lì?

+0

Come posso scoprirlo? Questo è l'unico file nella mia cartella lib/tasks. –

+0

Se lo si utilizza in rotaie ha già l'attività 'test'. Che cosa succede se rimuovi o commenta il tuo codice attività e fai 'rake -T', il task' test' sarà lì? – khustochka

+0

È lì. Va bene se continuo a utilizzare "rake test" e rimuovere completamente il mio codice? –

3

Basta rinominare il file rake con un nome univoco; ex. mintest1.rake.

Ho avuto lo stesso problema quando ho chiamato il mio file di rake paperclip.rake. Che cosa ho definito in quel file rake, è stato eseguito due volte. Presumo questo perché la gemma Paperclip già definisce un file rake paperclip.rake. Così ho appena ribattezzato il mio file paperclip.rake su pc.rake e ha funzionato per me.

+0

esattamente lo stesso problema con le attività di paperclip; grazie! –

0

Hai provato rake test:single TEST=path/to/test.rb?

Se dovessi cadere: single, quindi, funzionerebbe due volte.

Problemi correlati