Ogni volta che si desidera eseguire Rake test l'attività db: test: preparazione viene chiamata e ricostruisce il database dell'ambiente di test da schema.rb e migrazioni. Quello che vorrei ottenere è disabilitare la chiamata di db: test: preparare quando voglio testare l'applicazione Rails. È possibile senza modificare la gemma Rails?Come impedire a Rake test di richiamare l'attività db: test: preparare
10
A
risposta
13
Ecco una soluzione che ho visto in giro:
Nel vostro Rakefile:
Rake::TaskManager.class_eval do
def remove_task(task_name)
@tasks.delete(task_name.to_s)
end
end
In lib/tasks/db/test.rake
:
Rake.application.remove_task 'db:test:prepare'
namespace :db do
namespace :test do
task :prepare do |t|
# rewrite the task to not do anything you don't want
end
end
end
5
C'è un plugin che si occupa di questo per voi: override_rake_task. Ecco un esempio di utilizzo rapido:
namespace :db do
namespace :test do
override_task :prepare do; end
end
end
0
Per alcuni versione precedente delle guide: puoi inserire Rake::Task['db:test:prepare'].clear
alla fine del tuo Rakefile
Problemi correlati
- 1. Che cosa significa rake db: test: preparare effettivamente fare?
- 2. Qual è la differenza tra db: test: clone, db: test: clone_structure, db: test: load e db: test: preparare?
- 3. Esecuzione db: test: preparazione da un'altra attività rake
- 4. Come rake db: drop e rake db: create su Heroku?
- 5. rake db: migrate e rake db: crea sia lavoro su database di test, non database di sviluppo
- 6. Come aggiungere "rake test" al progetto
- 7. Come impedire a SBT di eseguire test di integrazione?
- 8. rake non in esecuzione test di unità
- 9. Come posso aggiungere i miei dati seme al mio database di test usando rake db: seed?
- 10. rake: test non eseguito test personalizzati nella sottodirectory
- 11. perché 'rake test' sta tentando di connettersi al mio DB di sviluppo?
- 12. rake db: create vs rake db: crea: tutti
- 13. Test console e rake Rails: unità
- 14. Come richiamare un'attività rake in rspec
- 15. Test di avvio a molla con memoria db
- 16. Durante l'esecuzione di `bundle exec rake test: preparazione` errata, ma` bundle exec rake db: test: prepare` funziona correttamente con avviso. Cosa sta succedendo?
- 17. Test di primavera con configurazione H2 db
- 18. Rails: Rake Test: funzionali non possono accedere DB (Sqlite3 su WinXP)
- 19. Rake db: test: prepararsi nell'app Rails 3 non riesce con il file non trovato
- 20. Perché rake db: migrate: reset non elencato in rake -T?
- 21. Test di un'attività di rake in rspec (e cetriolo)
- 22. Test di un metodo definito in un'attività di rake
- 23. Come richiamare $ (document) .ready (function() {}) in unit test
- 24. Esegui test in memoria db play framework
- 25. Test di unità Ruby in esecuzione con Rake
- 26. Come funziona effettivamente rake db :: migrate
- 27. Ruby - Esecuzione di test in ordine casuale con rake
- 28. Rails rake db: errore di discarica
- 29. Test A/B con ember.js
- 30. Devo usare "rake spec" o "rspec" (non riesco a far funzionare "rake spec")?
Mi piace. Con questo non devi installare alcun plugin e funziona bene. Tuttavia, che dire se voglio utilizzare il metodo di preparazione in futuro? È possibile tenerlo solo rimuovendolo dalla coda di Rake running? –
In questo caso, suppongo che dovresti usare questo metodo per riscrivere 'test: units',' test: functionals' e 'test: integration' in modo che non ereditino dal' db: test: prepare 'compito. – mckeed
In realtà, non ho ancora testato questo, ma probabilmente si potrebbe cambiare 'remove_task' a: ' def rename_task (nome_attività, new_task_name) @tasks [new_task_name] = @ tasks.delete (nome_attività) FINE' È Dovrò ancora riscrivere 'db: test: prepare' perché le attività di test continueranno ad eseguirlo. – mckeed