Comment : créer un test unitaire

Mise à jour : novembre 2007

Il y a deux raisons de modifier un test unitaire : vous le créez manuellement ou vous modifiez un test unitaire généré récemment. Bien que vous puissiez exécuter des tests unitaires générés récemment, ils sont créés avec du contenu par défaut qui doit être initialisé aux valeurs appropriées pour que le test puisse produire des résultats significatifs. Dans un test unitaire généré, vous devez en général personnaliser des assignations de variables et une ou plusieurs instructions Assert.

Utilisation d'instructions Assert dans les tests unitaires

Par défaut, chaque test unitaire généré appelle la méthode Inconclusive, ce qui provoque l'échec du test car encore essentiellement non implémenté. L'étape suivante consiste à ajouter un code significatif pour vérifier le bon fonctionnement de la méthode testée. L'une des méthodes standard consiste à générer une valeur et la comparer avec une valeur attendue à l'aide d'une instruction Assert.AreEqual. Pour obtenir un exemple, consultez "Exemple de test unitaire" dans Structure de tests unitaires. Les tests unitaires récemment générés contiennent des commentaires "À faire" qui suggèrent des modifications.

Un test unitaire qui ne contient aucune instruction Assert réussit automatiquement tant qu'il n'a pas atteint le délai d'expiration et qu'il ne lève pas d'exception inattendue. Pour plus d'informations, consultez Résultats de tests de base et Utilisation des classes Assert.

Ouverture et création de tests unitaires

Cette rubrique contient deux procédures :

  • La première procédure décrit comment modifier un test unitaire existant. Vous effectuez en général cette action pour préparer un test unitaire qui a été généré automatiquement. Reportez-vous à Comment : générer un test unitaire.

  • La deuxième procédure décrit comment créer un test unitaire manuellement.

Pour modifier un test unitaire existant

  1. Dans votre projet de test dans l'Explorateur de solutions, recherchez et ouvrez le fichier qui contient le test unitaire, puis recherchez la méthode de test unitaire à modifier.

    - ou -

    Dans Affichage de tests, double-cliquez sur le test unitaire ; cela ouvre le fichier qui contient le test unitaire et accède à la méthode de test unitaire.

  2. Recherchez les assignations de variables dans la méthode.

    Dans les tests générés récemment, les assignations de variables sont marquées par des instructions « To-Do » qui vous rappellent que vous devez personnaliser les assignations. Voici un exemple d'assignation qui doit être modifiée :

    string target.owner = null; // TODO: Initialize to an appropriate value 
    
  3. Assignez une valeur appropriée à chaque variable.

    Pour savoir quelles valeurs sont appropriées, considérez les valeurs auxquelles ces variables peuvent être initialisées avant que la méthode ne soit appelée, les modifications qu'elles peuvent subir lorsque la méthode est appelée et les résultats que vous attendez. Pour obtenir un exemple de ce processus, consultez la procédure Exécution et modification d'un test unitaire dans Procédure pas à pas : création et exécution de tests unitaires.

  4. Recherchez et modifiez les instructions Assert dans la méthode. Si nécessaire, ajoutez des instructions Assert supplémentaires.

L'Infrastructure de test unitaire fournit de nombreuses classes et méthodes Assert supplémentaires qui vous procurent une flexibilité dans l'écriture d'instructions Assert utiles. Pour plus d'informations, consultez Infrastructure de test unitaire.

Pour créer un test unitaire en le tapant au clavier

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur un projet de test, pointez sur Ajouter, puis cliquez sur Nouveau test.

    - ou -

    Cliquez avec le bouton droit sur la surface de la fenêtre Affichage de tests, puis cliquez sur Nouveau test.

    Cela affiche la boîte de dialogue Ajouter un nouveau test.

  2. Sous Modèles, cliquez sur Test unitaire, puis sur OK.

    Un nouveau fichier de code source avec un nom tel qu'UnitTest1.cs est ajouté à votre projet de test, dans le langage du projet de test. Ce fichier contient plusieurs choses requises par les tests unitaires :

    • Il référence l'espace de noms Microsoft.VisualStudio.TestTools.UnitTesting et l'espace de noms System.

    • Il définit son propre espace de noms, qui contient une classe de test. Les classes de tests ont l'attribut [TestClass].

    • Il contient une méthode d'initialisation et une méthode de nettoyage. Ces méthodes ont respectivement les attributs [TestInitialize()] et [TestCleanup()].

    • Il contient une méthode de test vide avec un attribut [TestMethod]. C'est ici que vous ajoutez votre logique de test. Cette méthode a un nom par défaut tel que TestMethod1().

    Ce fichier s'ouvre également dans la fenêtre pour modifier le code source. La nouvelle méthode de test (vide) est affichée dans la fenêtre Affichage de tests et dans l'Explorateur de tests.

  3. Ajoutez le code de test à la méthode de test.

L'Infrastructure de test unitaire fournit de nombreuses classes et méthodes Assert supplémentaires qui vous procurent une flexibilité dans l'écriture d'instructions Assert utiles. Pour plus d'informations, consultez Vue d'ensemble des tests unitaires et Infrastructure de test unitaire.

Voir aussi

Concepts

Infrastructure de test unitaire

Autres ressources

Comment : générer un test unitaire

Création de tests unitaires

Vue d'ensemble des tests unitaires

Gestion de tests

Exécution des tests

Analyse des résultats des tests