J'ai une gemme Rails 3 qui comporte des tâches de rake qui ne doivent être exécutées que dans l'environnement de test. Courir dans d'autres environnements n'a pas vraiment de sens.Exécution automatique de tâches gem dans l'environnement de test
Mon problème est que Rake charge le système Rails afin de trouver mes tâches dans ma gemme. Donc, au moment où il arrive à mes tâches Rails est déjà chargé dans l'environnement de "développement" (ou tout autre environnement spécifié par l'utilisateur). Cela signifie pour exécuter mes tâches de rake correctement l'utilisateur doit faire:
RAILS_ENV=test rake mytask
Depuis ma tâche de sens que dans le « test » environnement c'est ennuyeux que je préférerais l'utilisateur soit en mesure de taper simplement:
rake mytask
Ceci est similaire à la façon dont l'essai: unités et test: prennent automatiquement le functionals environnement de test et l'utilisateur n'a pas besoin de spécifier RAILS_ENV = test à la ligne de commande. La question est donc comment puis-je modifier mon test afin que Rails bascule dans l'environnement de test?
Ma solution actuelle est:
Rails.env = 'test'
ActionMailer::Base.delivery_method = :test
require Rails.root.join('test/test_helper')
Cela semble fonctionner un peu, mais il est encore à l'exploitation forestière log/development.log et je pense qu'il est en cours d'exécution encore en fait la configuration du « développement ». Quelqu'un a des idées? En regardant comment les tâches de test sont définies dans Rails lui-même ne révèle pas comment le faire que je peux voir.
https://github.com/rails/rails/blob/master/railties/lib/rails/test_unit/testing.rake
Genius! Simple et résout un autre problème que j'avais de devoir bifurquer pour éviter une tâche de jouer avec une autre tâche. J'aurais aimé avoir quelques points pour que je puisse vous féliciter pour une excellente réponse. Je vous ai donné crédit dans le commit: https://github.com/eric1234/test_inline/commit/fe3da7efa3a2cdb7824c23cfa41697b0ceb9e8e2 –
Dernier commentaire à Jamie Wong de http://stackoverflow.com/questions/3596431/element-update- est-non-une-fonction-rails-3-jquery/3611339 # 3611339 –