2008-09-30 9 views
3

Imaginez que vous implémentez l'user story contenant diverses nouvelles fonctionnalités et ajoutant de la complexité à la base de code. Le code existant est assez bien couvert et vous venez de décider des interfaces. Vous commencez à implémenter la fonctionnalité en commençant par les tests. Maintenant, vous avez des cas de test assez complexes basés sur les exigences, mais l'implémentation est loin d'être le moment où vous pouvez valider le code de travail SCM et plusieurs tests échouent (comme ils le devraient). Il est supposé que dans l'intégration continue, toutes les générations devraient être vertes si possible et ainsi vous ne devriez pas commettre comme vous casseriez la construction. Mais vous ne devriez pas non plus "Go dark" et conserver une telle quantité de code pour vous-même ...Comment gérez-vous TDD dans l'intégration continue?

Quelle est la procédure suggérée dans une telle situation?

Répondre

5

Ne décidez pas sur toutes les interfaces auparavant. Développer de manière incrémentale dans un rythme TDD typique: écrire un test; faire passer le test; refactor. Cela devrait tout garder en bonne forme, la barre sera toujours verte et vous pouvez vérifier le code sans vous inquiéter que vous allez casser la construction.

Il nécessite un style d'écriture différent, mais vous finirez par vous habituer au rythme.

+0

je pense que le démarrage hacking sans aucune analyse conceptuelle est mauvaise chose. Cela conduit à un code non-supportable et parfois pas très logique. Imaginez que vous n'êtes pas dans une situation idéale lorsque tous les membres de l'équipe sont également compétents, mais il y a aussi beaucoup de juniors. –

+0

Petr, je ne voulais pas dire que les gens devraient faire du piratage sans aucune analyse conceptuelle. L'analyse et l'objectif du code sont toujours là. Ne décidez pas encore sur le formulaire ;-). Mon expérience avec les juniors est qu'ils produisent un meilleur code quand vous leur dites d'écrire leurs tests. –

1

Qu'en est-il de sauter les tests que vous savez ne pas réussir parce que la fonctionnalité est actuellement manquante?

Faites en sorte que vous sautez les tests aussi! Vraiment faire crier "comme un cochon coincé", comme on dit à Oz! (-: « votre vert bar ».

Lorsque vous ajoutez des fonctionnalités, activez les tests associés et de garder

Voilà another great article plus à la programmation Pragmatique qui couvre la conception de fenêtres brisées évidentes à d'autres

HTH

acclamations,

Rob

Questions connexes