Je viens de commencer à utiliser BDD dans l'application Rails, mais je ne suis pas sûr de ce que sont les meilleures pratiques et les workflows? Et quelles sont les autres choses dont j'ai vraiment besoin pour tester mon projet, comme les définitions d'étapes, les contrôleurs, les modèles et les vues? Ai-je besoin de tester tout cela?Comment développez-vous l'application outside-in Rails avec Cucumber & RSpec?
Répondre
Je pense généralement à Cucumber comme un moyen de faire des tests d'intégration sur votre application. Combiné avec Webrat, vous pouvez tester les flux de travail des utilisateurs, les vues et ainsi de suite. Pour les tests unitaires, vous devrez descendre à un niveau inférieur et tester vos modèles avec rspec. Vous pouvez aussi faire quelques tests fonctionnels sur les contrôleurs, et je n'utiliserais probablement pas Cucumber pour ça non plus.
Voici quelques vidéos:
Cela peut être une question de goût, mais ayant essayé Rspec je préfère utiliser les tests Rails intégrés cadre avec un bijou appelé Shoulda. À mon avis, cette combinaison vous permet d'écrire des tests beaucoup plus clairs, plus succincts et compréhensibles que Rspec de loin. Mais tout le monde ne serait pas d'accord.
contextes de Shoulda vous permettent d'organiser vos tests dans des hiérarchies logiques qui aide vraiment quand vous essayez de tester tous les chemins possibles un peu fou, la situation de branchement, comme utilisateur se connecte avec droit pw, mal pw, droit pw mais enregistrement non confirmé, etc.
En outre, veillez à installer la gemme ZenTest. Cela vous permet d'exécuter la commande $ autotest
et vos tests seront exécutés automatiquement chaque fois que vous changez un fichier.
Ryan Bates a quelques bons Railscasts sur ces sujets:
- 1. Dépendance d'ActiveRecord avec Ruby, Rails, Cucumber et RSpec
- 2. Comment démarrer avec Rspec?
- 3. Intégrer le processus de test avec Rspec et Cucumber dans un plugin en utilisant Desert
- 4. commutation Test :: unité avec rspec sous rails
- 5. Test d'une balayeuse avec RSpec dans Rails
- 6. Test AutoTest et Rspec avec Rails
- 7. Comment fausser la connexion OpenID dans RSpec user story/Cucumber lors de l'utilisation du plugin open_id_authentication
- 8. Pourquoi devrais-je utiliser RSpec ou shoulda avec Rails?
- 9. Puis-je détruire mon/dossier de test si j'utilise Rspec et Cucumber?
- 10. erreur Rspec sur Cent OS 4.8 et rails
- 11. Problèmes avec RSpec et Chronic
- 12. Comment différencier les chaînes multilignes avec RSpec?
- 13. Comment exécuter mes spécifications avec la version précédente de Rspec?
- 14. Stubbing Chained Méthodes avec Rspec
- 15. autospec avec concombre dans les rails app
- 16. Comment tester avec le plugin RSpec a Rails en utilisant "link_to" et "current_page?"
- 17. Comment puis-je tester les aides de bloc Rails avec Rspec
- 18. Comment testeriez-vous les observateurs avec rSpec dans une application Ruby on Rails?
- 19. Facebooker et Cucumber avec IFRAME: Session.current n'est pas défini
- 20. Est-ce que le 'concombre' peut exécuter mes tests rspec-on-rails?
- 21. Test de modèles liquides dans des rails en utilisant Rspec
- 22. Test d'un décorateur de sessions lib en Ruby on Rails avec rspec
- 23. Utiliser des macros de type shoulda avec RSpec
- 24. Rspec « devrait changer » avec virgule flottante
- 25. Edge Rails ne liste pas les générateurs plugin/gem
- 26. Obtenir RSpec en RDoc
- 27. Rspec - Problèmes avec le passage des plugins aux gems
- 28. Impossible de trouver le générateur 'rspec'
- 29. Rails, Authentification Restful & RSpec - Comment tester les nouveaux modèles qui nécessitent une authentification
- 30. Culerity vs Javascript pour le test Javascript dans Rails