Skip to main content

Développement d’une application de gestion de contacts avec ASP.NET MVC (C#)

Etape #5 – Créer des tests unitaires

Sommaire

1. Dans cette étape
6. Conclusion
2. Qu’apportent les tests unitaires
 
3. Utilisation du Mock Object Framework
>> Télécharger le tutoriel au format Word
4. Création des tests unitaires pour la couche de service
>> Télécharger les codes sources
5. Création des tests unitaires pour les contrôleurs
>> Retour au sommaire des tutoriels

 

 

<< PrécédentSuivant >>

Dans cette étape

Dans l’étape précédente de l’application de gestion de contacts, nous avons repris le code pour le rendre faiblement couplé. Nous avons séparé l’application en plusieurs morceaux : le contrôleur, le service et la couche d’accès aux données. Chaque couche interagie avec les autres à travers des interfaces.

Ces modifications ont permis de rendre l’application plus maintenable et mieux modifiable. Par exemple, si l’on a besoin de changer la façon d’accéder aux données, il suffit de changer la couche d’accès associée (Repository Layer) et ce, sans toucher ni au contrôleur ni au service. En rendant l’application de gestion de contacts faiblement couplée, nous rendons l’application plus agile au changement.

Mais, que se passe-t-il lorsque l’on voudra ajouter une fonctionnalité à l’application de gestion de contacts ? Ou lorsque l’on souhaitera corriger un bug ? A chaque modification, on risque de générer un nouveau bug.

Par exemple si un jour le chef de projet demande de rajouter une fonctionnalité comme la notion de groupes de contacts pour que les utilisateurs puissent organiser leurs contacts et les associer à des groupes tels que « Amis », « Travail », ou autre.

Afin d’implémenter cette nouvelle fonctionnalité, il faudra modifier les trois couches de l’application de gestion de contacts. Ajouter une nouvelle fonctionnalité dans le contrôleur, à la couche de service et bien sûr à la couche d’accès aux données. Dès que le code commencera à être modifié, les fonctionnalités qui fonctionnaient avant risqueront d’être touchées et cassées.

Le fait d’avoir repris le code pour lui donner une architecture en couche est une bonne chose car cela permet de changer une couche sans toucher au reste de l’application. Cependant, pour rendre le code plus facile à maintenir et à modifier dans une couche donnée, il va falloir créer des tests unitaires.

Il faut donc utiliser les tests unitaires pour tester une petite partie de code. Les tests unitaires doivent être plus petits qu’une couche complète d’une application. Par exemple, on peut utiliser les tests unitaires pour tester une méthode. On pourrait prendre de manière unitaire CreateContact() de la classe ContactManagerService.

Les tests unitaires pour une application doivent être autonomes. Quelques soient les modifications apportées dans l’application, vous devez pouvoir lancer les tests et vérifier si les modifications n’entrainent pas de problèmes dans les fonctionnalités existantes. Les tests rendent votre code plus robuste aux modifications.

Dans cette étape, nous allons ajouter des tests à l’application de gestion de contacts. C’est grâce à ces tests que, dans la prochaine étape, nous allons pouvoir ajouter la fonctionnalité de groupes de contacts sans crainte de casser des fonctionnalités existantes.

Il existe de nombreux frameworks de tests tel que NUnit, xUnit.net and MbUnit. Dans ce tutorial, nous allons utiliser le frameworks de tests inclus dans Visual Studio. Cependant, vous pouvez facilement utiliser d’autre frameworks de tests.

 

<< PrécédentSuivant >>
Microsoft réalise une enquête en ligne pour comprendre votre opinion sur le site Web de. Si vous choisissez de participer, l’enquête en ligne vous sera présentée lorsque vous quitterez le site Web de.

Souhaitez-vous y participer ?