La courte question: comment suivez-vous le développement piloté par les tests sur un projet qui couvre plusieurs langues?
Plus précisément, j'écris une application Web qui utilise JavaScript et PHP, et je veux suivre les principes TDD, mais je ne sais pas comment les intégrer. Dois-je exécuter des suites de tests distinctes pour les sections JS et PHP et utiliser des maquettes dans la suite JS pour émuler les réponses du serveur? Existe-t-il une technique pour tester les deux composants en une seule fois?
Il s'agit de ma première expérience d'utilisation du développement piloté par les tests, donc tout conseil que vous pourriez partager sur la façon de le rendre moins intimidant serait formidable. La raison pour laquelle je l'ai choisi est que dès que j'ai terminé un prototype, les exigences ont changé, m'obligeant à changer ma conception. Je me suis dit que si je recommençais, j'aimerais écrire du code plus extensible avec des tests de régression intégrés dès le départ.
J'écris mes tests PHP dans SimpleTest et mes tests JavaScript dans JsTestDriver. Je suis habitué aux paradigmes orientés objet, j'ai donc quelques classes en PHP, et je fais quelque chose de similaire en JavaScript en utilisant l'héritage prototypique. J'ai également commencé à lire ce livre sur TDD en Python et celui-ci sur TDD en JavaScript , mais d'après tout ce que j'ai vu, ceux-ci ne décrivent pas le test complet d'une application (en dehors de l'utilisation de quelque chose comme Selenium ou un autre pilote Web pour effectuer des tests d'acceptation frontaux. Le TDD n'est-il tout simplement pas conçu pour les développeurs à pile complète?