Chaque fois que je veux exécuter Rake test, la tâche db: test: prepare est appelée et elle reconstruit ma base de données d'environnement de test à partir de schema.rb et de migrations. Ce que je voudrais faire est de désactiver l'appel de db: test: préparer quand je veux tester l'application Rails. Est-il possible sans modifier Rails gem?Comment empêcher Rake test d'appeler task db: test: prepare
10
A
Répondre
13
Voici une solution que j'ai vu autour de:
Dans votre Rakefile:
Rake::TaskManager.class_eval do
def remove_task(task_name)
@tasks.delete(task_name.to_s)
end
end
En 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
Il existe un plugin qui prend soin de cela pour vous: override_rake_task. Voici un exemple d'utilisation rapide:
namespace :db do
namespace :test do
override_task :prepare do; end
end
end
0
Pour certains ancienne version de rails - vous pouvez placer Rake::Task['db:test:prepare'].clear
à la fin de votre Rakefile
Questions connexes
- 1. Test Rake Tasks
- 2. Rake db: migration abandonnée
- 3. rake db: créer - problèmes de classement
- 4. mysqli using prepare
- 5. Comment puis-je voir ce qui se passe réellement lorsqu'un test Test :: Unit est exécuté?
- 6. test xVal
- 7. Cadre de test d'intégration?
- 8. Test Automation
- 9. Rails: rake db: migrate * très * lent sur Oracle
- 10. Comment planifier l'heure du test
- 11. Asp.net MVC View Test?
- 12. Test du code Scales
- 13. Théorie vs Test Nunit
- 14. iPhone Test OpenGL fps
- 15. Windows 7 logo test
- 16. génération de test automatisée?
- 17. Ruby Test Cases
- 18. Comment télécharger un db live MySQL dans un db de test local à la demande, sans SSH?
- 19. Test de l'application D2009 avec Test Complete 7.0
- 20. MbUnit - Échec du test/résultat du test dans TestFixtureTearDown
- 21. Quick Test Pro (scripts de test de régression) - Cruisecontrol.net
- 22. Test d'application Web pour .Net (WatiN Test Recorder)
- 23. service web de test de charge/test de stress
- 24. Mercury Quick Test Pro - Test avec une grille personnalisée
- 25. Test Watin de FckEditor
- 26. Fonctions probabilistes de test
- 27. Test d'unité Bug Tracking
- 28. ASP.NET Unit Test DirectoryNotFoundException
- 29. Test Unit Routes
- 30. Test PictureBox en blanc
J'aime ça. Avec cela, vous n'avez pas besoin d'installer de plugin et cela fonctionne bien. Cependant, qu'en est-il si je veux utiliser la méthode de préparation dans le futur? Est-il possible de le garder seulement le retirer de la file d'attente de Rake? –
Dans ce cas, je suppose que vous devrez utiliser cette méthode pour réécrire 'test: units',' test: fonctionnels', et 'test: integration' pour qu'ils n'héritent pas du' db: test: prepare 'tâche. – mckeed
En fait, je n'ai pas testé, mais vous pourriez probablement changer 'remove_task' à: ' def rename_task (nom_de_la_tâche, new_task_name) @tasks [new_task_name] = @ tasks.delete (nom_de_la_tâche) end' Vous Il faudra encore réécrire 'db: test: prepare' car les tâches de test continueront de l'exécuter. – mckeed