C# : Les Tests Unitaires – Part 1- Introduction et 1er exemple

Introduction

Les tests unitaires sont essentiels dans le cycle de vie d’un développement. Ils permettent d’assurer son bon fonctionnement mais aussi sa non régression. De plus un test unitaire donne une meilleure visibilité sur le code.

Un test unitaire est une méthode qui test une portion de code, elle doit est indépendante du programme.

Une des méthodes les plus utilisées est le « développement dirigé par les tests (TDD) ». Cette méthode demande d’écrire en 1er lieu les tests unitaires, ce sont eux qui détermine les bonnes fonctions (ou code) pour le programme.

Le cycle TDD demande de faire d’abord échouer le test à chaque fois que possible puis de le corriger pour qu’il devienne en « succès ».

Il y a un très bon article sur la TDD ici : http://bruno-orsier.developpez.com/tutoriels/TDD/pentaminos/

Mise en place dans Visual Studio

Dans Visual Studio Créer un nouveau projet de type « Projet de Tests ».

Une nouvelle classe de Test est créé en même temps.

Nous allons utiliser dans un 1er temps le framework de test de Microsoft MSTest.

Un 1er Test Unitaire

Le but de ce test unitaire est de faire la somme de 2 entiers.

–          Nous avons une classe Calculatrice qui possède une méthode Add

public class Calculatrice
{
   public int Add(int a, int b)
   {
   return a + b;
   }
}

–          Créons un test unitaire pour tester cette méthode

        [TestMethod]
public void AdditionDeuxChiffresEtObtenirLaSomme()
{
//Arrange
int a = 3; //premier chiffre
int b = 2; //deuxième chiffre
Calculatrice calculatrice = new Calculatrice();

int actualSomme = 5; //la somme de a et b

int expectedSomme = 0;

//Act
expectedSomme = calculatrice.Add(a, b);

//Assert
Assert.AreEqual(expectedSomme, actualSomme);
Debug.WriteLine(DateTime.Now.TimeOfDay.ToString());
}

La forme de ce test montre :

–          L’attribut [TestMethode] indique qu’il s’agit d’un test unitaire.

–           Le nom de la méthode est assez explicite, il doit indiquer ce que fait le test (AdditionDeuxChiffres) et son but (EtObtenirLaSomme).

–          Le test ce décompose en 3 parties :

  • Arrange : qui correspond à l’initialisation de test
  • Act : Le traitement à tester
  • Assert : qui permet de rendre un test en succès ou échoué.

Nous verrons tout au long de cet article le détail de ces 3 parties.

Ce test initialise 2 entiers a et b.

Il initialise une nouvelle instance de la classe Calculatrice

Il initialise une variable actualSomme (à 5) et une autre expededSomme (à 0)

Ensuite  il appelle la méthode Add avec nos 2 entiers et met son résultat dans expectedSomme.

Enfin il vérifie grâce à la classe Assert si excectedSomme est égal à ActualSomme.

Dans notre cas le test sera en succès.

Par contre si par exemple int a  = 4 , alors le test aurait été en échec.

Voila pour la 1ère partie de cet article.

La 2eme partie traitera sur l’exécution des test unitaires dans Visual studio.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s