11
votes

Comment prévenir le test de rake d'appeler Task DB: Test: Préparez-vous

Chaque fois que je veux exécuter Rake Test, la tâche DB: Test: Se préparer est en cours d'appel et il reconstruit ma base de données d'environnement de test à partir de schéma.rb et de migrations. Ce que j'aimerais faire, c'est désactiver l'appel de dB: Test: Préparez-vous lorsque je veux tester une application Rails. Est-il possible sans modifier des rails gemmes?


0 commentaires

3 Réponses :


5
votes

Il existe un plugin qui prend en charge cela pour vous: Supprimer_Rake_Task . Voici un exemple d'utilisation rapide:

namespace :db do
  namespace :test do
    override_task :prepare do; end
  end
end


0 commentaires

13
votes

Voici une solution que j'ai vue autour:

dans votre fibrefile: xxx

dans lib / tâches / db / test / test.rake.rake >:: xxx


4 commentaires

J'aime ça. Avec cela, vous n'avez pas à installer de plugin et cela fonctionne bien. Cependant, qu'en est-il si je veux utiliser la méthode de préparation à l'avenir? Est-il possible de garder cela seulement le retirer de la file d'attente de râteau?


Dans ce cas, je suppose que vous devriez utiliser cette méthode pour réécrire Test: unités , Test: Fonctions et test: intégration qu'ils n'hérent pas à partir du dB: test: préparez la tâche .


En réalité, je n'ai pas testé cela, mais vous pouvez probablement changer supprimer_task à: def rename_task (nom_serveur, new_task_name) @tasks [NEATSASK_Name] = @ Tâches.Delete (Task_Name) Fin Vous devrez toujours réécrire dB: test: préparer car les tâches de test vont toujours l'exécuter.


Mckeed C'est ce que le plug-in mentionné dans une autre réponse fait. Mais je n'ai pas besoin de garder l'ancienne tâche autour.



0
votes

Pour une version plus ancienne des rails - vous pouvez placer rake :: Tâche ['dB: test: préparer']. Effacer à la fin de votre rakeFile


0 commentaires