J'ai écrit ce cours qui fait quelques choses (c'est peut-être une violation du principe de responsabilité unique). Je me rends compte maintenant qu'une autre partie du projet a besoin d'un morceau de cette logique et la façon dont je vais l'exposer consiste à extraire une classe de mon système en cours de test d'origine.
Je prévois pouvoir le faire sans avoir à changer de code de test, mais quand j'aurai fini, vous pourriez dire que le test n'est plus un test unitaire . Il testera la classe d'origine et la classe que j'ai extraite. En d'autres termes, j'aurai un cas de test, mais deux systèmes en cours de test.
Suis-je censé refactoriser mon code de test après avoir terminé? IE: créer un ExtrolvedClassTest et y déplacer tous les tests pertinents de OriginalClassTest? Il semble que cela puisse être un peu risqué: je peux perdre une couverture dans le processus, ce n'est peut-être pas aussi simple que de déplacer un test et je finirais par réécrire un code de test que je sais utilisé auparavant, mais qui ne le peut plus, etc.
D'un autre côté, si je laisse le OriginalClassTest tel quel, je peux voir qu'il s'agit d'un problème de maintenance de test. Ce sera un peu déroutant de trouver où se trouvent les tests de la classe extraite. Votre première impression sera qu'elle n'existe pas. Au fil du temps, avec de nombreux remaniements du code de production, cela pourrait devenir un problème grave.
Je suis nouveau chez TDD, j'aimerais donc les conseils d'un expert. Merci!
la source