Je connais bien les concepts (j'ai suivi des cours de test à l'université), mais je ne sais pas encore comment les utiliser vraiment car je n'ai jamais travaillé sur un "vrai" projet TDD.
Je suis sur le point de commencer le développement d'un projet en utilisant Ruby on Rails (probablement en utilisant 2.3). Cette application sera utilisée pour gérer les données, les utilisateurs et certains fichiers. Ce ne sera pas trop compliqué au début, mais pourrait évoluer beaucoup dans les 6 prochains mois, donc je pense que c'est le bon moment pour se lancer davantage dans le TDD.
J'ai une idée de base sur la façon de le faire, mais j'ai encore besoin de quelques pointeurs et conseils:
Quel article de Ruby on Rails TDD 101 dois-je lire?
Que dois-je tester?
Quel gem / plugin dois-je utiliser?
Dois-je utiliser rspec ? Autre chose?
Une fois que j'ai toutes mes classes de test, comment puis-je les déployer? (par exemple: intégration continue)
Combien de temps le TDD prend-il vraiment?
Dois-je lire un livre à ce sujet ou puis-je tout obtenir simplement en jouant avec et en lisant des didacticiels en ligne? Si j'ai besoin de lire un livre, quel livre?
J'aime apprendre avec des exemples, alors quelqu'un pourrait-il me dire comment j'irais et adopter une approche TDD pour résoudre ce problème:
J'ai des entreprises. J'ai des contacts. Un contact peut être lié à 1 entreprise. Une entreprise peut avoir plusieurs contacts. Je veux créer des moyens de créer des contacts, des entreprises et lier des contacts à des entreprises.
Vous n'êtes pas obligé d'utiliser cet exemple dans votre réponse mais cela aiderait :)
la source
J'ai produit une série vidéo de 6 épisodes qui a été enseignée en classe publique à San Francisco à l'été 2010. Le matériel couvre les tests et l'efficacité des développeurs dans Rails 2.3 en utilisant RSpec 1.3. Légèrement daté, mais les principaux concepts s'appliquent à Rails 3 avec Rspec 2.x
http://www.rubyfocus.biz/class_video/2010/07/19/rails_tdd_class_1.html
la source
Je recommande ce livre: Tutoriel Ruby on Rails . J'en ai presque fini. Le livre utilise TDD tout le livre. Essaie!
la source
Je recommande ce livre: Développement Web Agile avec Rails
la source
TDD consiste d'abord à écrire des tests. Cela vous oblige essentiellement à écrire votre propre client avant d'écrire votre code d'application. Le cycle consiste généralement à écrire un test pour une API qui n'existe pas, à exécuter le test en s'attendant à ce qu'il échoue, à écrire votre code API, à réexécuter votre test et à vous assurer qu'il réussit. Ensuite, écrivez votre prochain test ... et ainsi de suite.
Vous pourriez également être intéressé par ce guide Rails .
la source
J'utilise :
la source
J'ai toujours apprécié shoulda .
La raison pour laquelle j'ai toujours favorisé le développement TDD est qu'il se concentre sur la façon dont je vais implémenter un morceau de code spécifique. J'ai le sentiment anecdotique que chaque fois que j'adhère plus fortement aux principes TDD, je passe moins de temps à retravailler plus tard. Le temps passé dépend de la façon dont vous écrivez des tests unitaires. Si les tests unitaires ne capturent pas le comportement attendu, tout le temps passé sur eux est perdu.
la source