Disons que je voulais démarrer un projet open source qui j'espère / m'attends à ce que beaucoup de gens soumettent des correctifs et ainsi de suite. Est-il viable d'adopter une approche TDD stricte? Puis-je / dois-je m'attendre à ce que les collaborateurs écrivent des tests de qualité chaque fois qu'ils soumettent un patch?
Une chose à laquelle j'ai pensé est d'écrire des suites de tests pour les rapports de bogues individuels et les demandes de fonctionnalités et d'exiger que tous les correctifs / demandes d'extraction fassent passer les tests, mais à ce stade, il semble qu'il serait préférable d'écrire la fonctionnalité / correction de bogue moi même.
Pour autant que je sache, la plupart des grands projets open source qui utilisent TDD (ou au moins écrivent des tests) semblent être principalement écrits uniquement par un individu ou une équipe, où il est facile d'appliquer des pratiques telles que TDD.
la source
Réponses:
Vous ne pouvez pas vraiment appliquer une approche TDD (test en premier) sur un projet open source où les correctifs peuvent être soumis par le grand public.
Ce que vous pouvez appliquer, c'est que tous les correctifs doivent avoir un ensemble de cas de test pour les correctifs inclus dans le correctif et que ces cas de test, ainsi que tous les cas de test existants, doivent réussir. Vous pouvez appliquer cela en ne donnant des droits de validation qu'à quelques développeurs de confiance connus pour utiliser et accepter les politiques du projet et en déclarant publiquement que les soumissions / pull-demandes ne seront incorporées que si elles sont accompagnées de cas de test réussis (avec couverture suffisante).
Cela ne garantit pas que le test est écrit en premier , mais il garantit que le test est écrit .
la source
Vous pouvez demander aux utilisateurs de soumettre des correctifs de test uniquement avant d'être autorisés à travailler sur le code; cela fournirait une occasion supplémentaire de revoir la conception prévue avant que le code lui-même ne soit écrit.
Dans la pratique, cela peut tuer tout enthousiasme des gens pour leur contribution au projet - ou cela peut enflammer ceux qui sont d'accord avec votre méthodologie.
Les examinateurs devraient cependant être très compétents pour contourner rapidement les revues de conception, afin de ne pas retarder le développement.
la source