Dois-je utiliser “râteau spec” ou “rspec” (ne peut pas obtenir “râteau spec”)?
Je suis sur des Rails 3.2 et je suis en utilisant rspec (2.11.1). Quand je lance mon test de suite avec "râteau spec" je reçois des échecs. Quand je le lance avec "rspec" tout passe. J'ai vu d'autres mentions de ce problème, mais rien de définitif qui explique ce qui se passe et quelles sont les meilleures pratiques.
Si je ne "râteau spec" ou "râteau tmp:claire && râteau spec" mes tests échouent.
Si je ne "rspec" ou "rspec spec" ou "rake db:test:préparer && rspec" mes tests passent.
Je pensais que la seule différence était que de râteau "db:test:préparer" mais si je le fais manuellement avant de lancer rspec mes tests passent donc ça ne peut pas être tous de l'histoire.
Après avoir fait un peu de lecture, j'ai changé mon Gemfile. Auparavant, je l'avais mis en place que par "La RSpec Livre" (p328) où il décrit mettre la rspec gemme à l'intérieur d'un "groupe :le développement, l' :test de bloc". Après avoir lu des posts j'ai enlevé ":le développement", et a fait un bundle. Maintenant "râteau spec" ne fait rien. "rspec" fonctionne toujours comme avant.
Très confus...
"RAILS_ENV='test' râteau spec". Je me serais attendu à des tests de valeur par défaut pour l'environnement de test sans avoir à me être précis...
Ma réponse a été supprimée (avec l'aimable autorisation de @bhargav-rao) comme un double de stackoverflow.com/questions/15701298/...
OriginalL'auteur starfry | 2012-08-28
Vous devez vous connecter pour publier un commentaire.
Essayez d'exécuter
RAILS_ENV=test rake spec
rake spec
appelleradb:schema:load
à un certain point, et si vous définissez l'environnement de cette façon, il va essayer lo charge schéma detest
entest
?OriginalL'auteur Mike
Voici ce qu'il fixe pour moi.
J'ai aussi été en mesure d'exécuter
rake spec RAILS_ENV=test
J'ai eu mon Gemfile comme ce
Je l'ai changé pour cela, faire un bloc de test et de développement et de mise avant le développement de l'état. J'ai aussi fait en sorte que ma db migrations ont tous fait l'essai db.
db:migrate RAILS_ENV=test
OriginalL'auteur Rokujolady
Selon rspec-rails github, mettre rspec-gem rails du développement et de test, les groupes de la Gemfile. C'est parce que le test de la tâche rake charge de l'environnement de développement première avant de passer à l'environnement de test.
Aussi, si vous êtes en utilisant Gemfile, l'utilisation de "bundle exec rake spec" pour exécuter toutes vos spécifications. Pour exécuter seul fichier spec, l'utilisation de "bundle exec rake rspec chemin/vers/spec_file". À l'aide de "bundle exec" vous garantit que vous êtes en utilisant la bonne râteau de commande installé via votre Gemfile à la place de votre système de rake commande.
Référence: https://github.com/rails/rails/issues/8591
OriginalL'auteur konyak