2010-06-04 8 views
6

disons que vous avez ajouté un contrôleur et d'action (par exemple: story/index), et que vous souhaitez exécuter un test fonctionnel parSur Ruby on Rails, comment exécuter UN test fonctionnel quand un autre se casse?

rake test:functionals 

puis vous avez trouvé qu'une autre partie du projet de votre collègue de travail travaille sur effectivement cassé le test à un endroit antérieur (un autre contrôleur/action), avant que votre test fonctionnel ait lieu.

Dans ce cas, pouvez-vous exécuter un seul test fonctionnel, qui est le vôtre?

Répondre

10

Wise-Ass Réponse
Si vous collègue de travail brise les essais, alors il doit fixer le test, ou il ne devrait pas avoir commis le code à la mise en pension. C'est le principe principal que nous avons habituellement dans les projets sur lesquels je travaille.

Belle réponse
Essayez cette

rake test:functionals TEST=test/functional/xy_test.rb 

Ou cette
en cours d'exécution d'un test sans rake mais explicite $ -loadpath fonctionne trop ici "Ruby -I répertoire" indique le chemin de charge de $. Sinon, vous ne chargez pas l'environnement de test et "require test_helper" échoue!

ruby -I test test/functional/xy_test.rb 
+1

merci! le second fonctionne - pour une raison quelconque le premier casse ... –

+1

@ 動靜 能量 essayez 'rake test TEST = test/fonctionnel/xy_test.rb' –

0

1) Peut-être: test de rake: unités

2) Ce lien peut aussi vous aider:

http://rake.rubyforge.org/

3) Cela pourrait aussi vous aider:

"Les tests Rails typiques sont disponibles dans les formulaires suivants:

Unité (modèle) Ces modèles testent la logique métier dans vos modèles. Une application bien écrite Rails devrait avoir la majeure partie de son code dans ses modèles, donc la majeure partie de vos tests devraient être ceux-ci. Fonctionnel (contrôleur) Ces tests actions de contrôleur individuels en isolement .

Intégration (contrôleur à) Ces tests mutations de l'État entre/sur plusieurs actions et routage, à savoir faire en sorte que les choses ne explosent pas tout à fait comme un utilisateur clique sur par un flux de travail typique.

accessoires utilisés pour contenir par exemple le modèle données utilisées pour instancier facilement ces modèles dans les tests, en évitant le processus fastidieux de créer manuellement le modèle objets. Unité/Auxiliaires Ces aides de test ont utilisé les vues .

En d'autres termes, les relations de base se présentent comme suit:

Modèle Controller Test fonctionnel Test de (dans le cadre d'un) fonctionnel Controller Test pour Controller Integration Test »

Trouvé à http://rails-nutshell.labs.oreilly.com/ch09.html

+0

test unitaire est vraiment pour tester les modèles ... fonctionnel est pour tester les contrôleurs et les vues ... ils sont le MVC dans le cadre MVC. –

0

Vérifiez la single_test gem qui le rend facile à exécuter des tests spécifiques (ou groupes de tes ts)