2010-03-29 5 views
2

Avec une application Web n-tier existante utilisant ASP.net WebForms, quelle est la meilleure approche pour obtenir l'acceptation TDD sur l'application. Quel est un bon plan pour obtenir l'acceptation par les développeurs d'aller de l'avant pour écrire le premier code de test par opposition à ignorer les tests alors que la mise en œuvre TDD est dans les limbes? Sachant qu'il y aura un grand temps de couverture faible «in-limbo»: Quelles parties du modèle commencez-vous à écrire des tests pour la première fois? Zones d'utilisation critique ou nouveau développement?Application rétroactive de TDD aux formulaires Web ASP.Net

+5

Tdd est quelque chose qui est «cuit» dans la conception globale dès le départ. Tdd rétroactive est difficile. – Pierreten

+0

duplicata possible de http://stackoverflow.com/questions/342693/unit-testing-legacy-asp-net-webforms-legacy-applications –

+0

@Pierreten - J'irais aussi loin que de dire que "retroactive tdd" est aussi impossible comme "conception rétroactive in vitro". Je pense que ce qui est vraiment demandé est comment obtenir une couverture de test unitaire sur le code existant et comment changer le processus de développement en TDD. – JeffH

Répondre

2

Je suis d'accord avec womp, les tests unitaires et WebForms est difficile. Surtout si la plupart de votre logique est intégrée dans le code derrière les fichiers.

J'ai trouvé utile de créer des tests fonctionnels en utilisant d'abord quelque chose comme Selenium. Avec une couverture de test fonctionnel décent, je peux alors commencer à refactoriser, en ajoutant des tests unitaires comme je vais.

+0

Je suis d'accord. Retrofitting tests unitaires dans ce contexte est très difficile. La mise à niveau des tests d'acceptation avec Selenium, WatiN ou peut-être les nouveaux outils de test du VS2010 est cependant assez simple. –

2

Les formulaires Web ASP.Net sont notoirement difficiles à construire en raison des dépendances intégrées des objets statiques HttpApplication et HttpContext, et de l'abstraction qui fuit du cycle de vie de la page. Cela étant dit, il est toujours beaucoup plus facile de commencer à écrire des tests pour le nouveau code, plutôt que de passer du temps à revenir sur l'ancien code. L'ancien code devra être fortement refactorisé pour permettre des tests appropriés.

Questions connexes