Question

Je refactorise actuellement une partie d'une grande base de code sans tests unitaires. J'ai essayé de refacter le code Brute, c'est-à-dire en essayant de deviner ce que fait le code et ce que les changements ne changeraient pas de sens, mais sans succès: il casse au hasard des fonctionnalités tout autour de la base de code.

Notez que le refactorisation comprend le déplacement du code C # hérité vers un style plus fonctionnel (le code hérité n'utilise aucune des fonctionnalités de .NET Framework 3 et ultérieurement, y compris LINQ), ajoutant des génériques où le code peut en bénéficier, etc.

Je ne peux pas utiliser méthodes formelles, étant donné combien coûteraient-ils.

D'un autre côté, je suppose qu'au moins "Tout code hérité refactorisé doit passer avec des tests unitaires" La règle doit être strictement suivie, peu importe combien cela coûterait. Le problème est que lorsque je refactez une petite partie d'une méthode privée de 500 LOC, l'ajout de tests unitaires semble être une tâche difficile.

Qu'est-ce qui peut m'aider à savoir quels tests unitaires sont pertinents pour un morceau de code donné? Je suppose que l'analyse statique du code serait en quelque sorte utile, mais quels sont les outils et les techniques que je peux utiliser:

  • Sachez exactement quels tests d'unité dois-je créer,

  • Et / ou savoir si le changement que j'ai effectué a affecté le code d'origine d'une manière qu'il s'exécute différemment à partir de maintenant?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top