Tests unitaires
Introduction aux tests unitaires
Les tests unitaires représentent le meilleur moyen de tester le code d’une application tout au long de son développement. D’une part, ces tests permettent de s’assurer que les méthodes retournent les bons résultats en rapport avec les paramètres qui lui sont passés et, d’autre part, ils peuvent être utilisés pour faire du Test Driven Development. Il s’agit d’une technique où les tests sont écrits avant les classes et les méthodes. Ainsi, ce sont les tests qui vont définir le développement et non plus l’inverse.
1. La création du projet
Visual Studio propose un modèle de projet pour les tests unitaires : Projet de test "MSTest".
Ajoutez un projet de test unitaire à la solution SelfMailer (Fichier - Ajouter - Nouveau projet - Test) et nommez-le UnitTest.
Visual Studio crée la solution en ajoutant la référence à la librairie Microsoft.VisualStudio.QualityTools.UnitTestFramework, qui contient les classes nous permettant de créer les tests. Le fichier UnitTest1.cs est également ajouté. C’est dans ce fichier que seront écrits les tests.
2. Les classes de tests unitaires
L’espace de noms utilisé pour les tests unitaires est Microsoft.VisualStudio.TestTools.UnitTesting. Il contient la principale classe permettant...
La mise en place d’une série de tests
1. La création de tests au projet
Renommez le fichier UnitTest1.cs en MailServerSettingsTest.cs, supprimez la méthode TestMethod1 et déclarez une variable publique de type TestContext :
public TestContext TestContext { get; set; }
Vous avez désormais une classe prête à recevoir des méthodes de tests. Pour la lier au projet SelfMailer, ajoutez une référence au projet. À partir du menu contextuel du dossier Références du projet UnitTest, sélectionnez Ajouter une référence.... Choisissez ensuite le projet SelfMailer à partir de l’onglet Solution - Projets.
Ajoutez la méthode FromEmailTestValid suivante dans le fichier MailServerSettingsTest.cs :
[TestMethod()]
public void FromEmailTestValid()
{
MailServerSettings target = new MailServerSettings();
string expected = "test@abc.com";
string actual;
target.FromEmail = "test@ab.com";
actual = target.FromEmail;
Assert.AreEqual(expected, actual);
}
Ajoutez une référence à l’espace de noms SelfMailer.Library dans l’en-tête du fichier MailServerSettingsTest.cs...