2. Applications « Legacy » : Testez-les avec Visual Studio
Application « Legacy » ?
Wikipédia:
“source code inherited from someone else and source code inherited
from an older version of the software”
Michael C. Feathers (Working Effectively with Legacy Code) :
“legacy code as code without tests”
Application :
Faible connaissances fonctionnelles et techniques
Difficilement maintenable
Difficilement évolutif
3. Applications « Legacy » : Testez-les avec Visual Studio
Problématique
On ne peut
pas modifier
du code
« Legacy »
sans avoir
des tests
unitaires
Couplage!
On ne peut pas
tester
unitairement du
code «pas
testable » sans au
préalable le
modifier
4. Applications « Legacy » : Testez-les avec Visual Studio
Utilisation « Fakes Framework »
« Fakes Framework » :
•
Produit par l’équipe Microsoft Research sous le nom « Moles Isolation
Framework » et intégré à Visual Studio 2012
•
Génération d’objets permettant de :
•
Rediriger tout appel de méthodes .Net (framework .net inclus) : Shims
•
d’isoler le code que vous souhaitez tester avec des objets de substitution:
Stubs
6. Applications « Legacy » : Testez-les avec Visual Studio
Améliorer son code en continu
•
Etape 1 : Introduire des tests unitaires avec les Shims
•
Etape 2: Refactorer son code
•
Etape 3: Remplacer les Shims par les Stubs autant que possible
7. Applications « Legacy » : Testez-les avec Visual Studio
Résumé
Ce qu’on a vu, ce qu’il faut savoir
VS 2012 propose un outil puissant permettant d’introduire des
tests unitaires sans modifier vos applications « Legacy »
Pour aller plus loin :
• www.cellenza.com
• http:// http://blogs.developpeur.org/fathi/
• fathi.bellahcene@cellenza.com