Partager via


Exécution de tests unitaires avec Test Explorer

L'explorateur de tests Visual Studio vous aide à intégrer le test unitaire dans votre processus de développement.Vous pouvez exécuter des tests à partir de plusieurs projets de test dans une solution et les classes de test qui font partie des projets de code de production.Les projets de test peuvent utiliser différentes infrastructures de test unitaire.Dans cette rubrique, vous pouvez savoir sur :

Dans cette section

Infrastructures et projets de test de test unitaire

Exécution de tests dans l'explorateur de tests

  • L'exécution des tests est en cours.

  • Exécution de tests après chaque build

Pour consulter des résultats de tests

  • Détails du test d'affichage

  • Ouvrez le fichier de code source d'un test unitaire.

Regroupement et filtrage de la liste de tests

  • Regrouper la liste de tests

  • Regroupement par des spécifications

  • Recherche et filtrage de la liste de tests

Tests unitaires de débogage

Couverture du code d'analyse de test unitaire

Diagnostic des problèmes de performance de méthode de test

Ressources externes

  • Aide

Infrastructures et projets de test de test unitaire

Visual Studio inclut les infrastructures de test unitaire Microsoft pour le code managé et du code natif.Toutefois, l'explorateur de tests peut également exécuter toute infrastructure de test unitaire qui a implémenté un adaptateur explorateur de tests.Pour plus d'informations sur l'installation des infrastructures de test tierces unitaire, consultez Comment : installer des infrastructures de tests unitaires tiers

Vous pouvez exécuter des tests à partir de plusieurs projets de test dans une solution et les classes de test qui font partie des projets de code de production.Les projets de test peuvent utiliser différentes infrastructures de test unitaire.Lorsque le code sous test est écrit pour le.NET framework, le projet de test peut être écrit dans n'importe quel langage.NET, quel que soit le langage du code cible.Les projets de code C/C++ natifs doivent être testés à l'aide de l'infrastructure de test unitaire c++.

Dans cette section

Exécution de tests dans l'explorateur de tests

Lorsque vous générez le projet de test, les tests s'affichent dans l'explorateur de tests.Si l'explorateur de tests n'est pas visible, sélectionnez Test dans le menu, choisissez Fenêtres, puis choisissez explorateur de tests.

Explorateur de tests unitaires

Lorsque vous exécutez, entrez, puis réexécutez les tests, affiche dans l'explorateur de tests les résultats aux groupes par défaut Échec des tests, Tests réussis, Tests ignorés et Pas exécuter des tests.Vous pouvez modifier la façon dont l'explorateur de tests groupe de tests.

Vous pouvez effectuer la majeure partie du travail de recherche, d'organisation et d'exécuter des tests à partir de la barre d'outils de l'explorateur de tests.

Exécuter des tests à partir de la barre d'outils de l'explorateur de tests

Hh270865.collapse_all(fr-fr,VS.110).gifL'exécution des tests est en cours.

Vous pouvez exécuter tous les tests de la solution, tous les tests dans un groupe, ou un ensemble de tests que vous sélectionnez.Effectuez l'une des opérations suivantes :

  • Pour exécuter tous les tests d'une solution, choisissez Exécuter tout.

  • Pour exécuter tous les tests à un groupe par défaut, choisissez exécutez… puis sélectionnez le groupe dans le menu.

  • Sélectionnez les différents tests à exécuter, ouvrez le menu contextuel pour un test sélectionné puis choisissez Exécuter les tests sélectionnés.

La barre de exécution/échouer en haut de la fenêtre explorateur de tests est animée comme test.À la conclusion de la série de tests, les tours de barre réussite ou échec verdissent si tous les tests passaient ou tournent le rouge si un test a échoué.

Hh270865.collapse_all(fr-fr,VS.110).gifExécution de tests après chaque build

Mise en gardeAttention

Les tests unitaires en cours de exécution après chaque build est pris en charge uniquement dans Visual Studio final.

Exécuter après les builds

Pour exécuter vos tests unitaires après chaque build locale, choisissez Test dans le menu standard, choisissez Exécuter des tests après génération dans la barre d'outils de l'explorateur de tests.

Dans cette section

Pour consulter des résultats de tests

Lorsque vous exécutez, entrez, puis réexécutez les tests, affiche dans l'explorateur de tests les résultats aux groupes par défaut Échec des tests, Tests réussis, Tests ignorés et Pas exécuter des tests.Le volet d'informations au bas de l'explorateur de tests affiche un résumé de la série de tests.

Hh270865.collapse_all(fr-fr,VS.110).gifDétails du test d'affichage

(Facultatif) Pour afficher les informations relatives à un test, double-cliquez sur ce dernier.

Le volet d'informations de test affiche les informations suivantes :

  • Le nom du fichier source et le numéro de ligne de la méthode de test.

  • Statut du test.

  • Le temps écoulé que la méthode de test a pris à exécuter.

Si le test échoue, de volet d'informations affiche également :

  • Le message retourné par l'infrastructure de test unitaire pour le test.

  • La trace de la pile l'échec.

Hh270865.collapse_all(fr-fr,VS.110).gifOuvrez le fichier de code source d'un test unitaire.

Pour afficher le code source d'une méthode de test dans l'éditeur Visual Studio, sélectionnez le test puis choisissez Ouvrir un test dans le menu contextuel (clavier : F12).

Dans cette section

Regroupement et filtrage de la liste de tests

L'explorateur de tests vous permet de regrouper vos tests en catégories prédéfinies.La plupart des infrastructures de test unitaire qui s'exécutent dans l'explorateur de tests vous permettent de définir vos propres catégories et catégorie/valeur paires pour regrouper vos tests.Vous pouvez également filtrer la liste de tests par les chaînes de correspondance par rapport à les propriétés de test.

Hh270865.collapse_all(fr-fr,VS.110).gifRegrouper la liste de tests

Pour modifier la façon dont les tests sont organisés, cliquez sur la flèche bas en regard de le bouton Bouton du groupe d'explorateur de testsGrouper par et sélectionnez les nouveaux critères d'un regroupement.

Groupes de l'explorateur de tests

Regrouper

Description

Durée

Test de groupes par durée d'exécution : Rapide, Moyenne, et Lente.

Résultat

Tests de groupes par les résultats d'exécution : Tests échoués, Tests ignorés, Tests réussis.

Caractéristiques

Test des groupes bycategory/paires de valeurs que vous définissez.La syntaxe pour spécifier des catégories et des valeurs de fonctionnalités est définie par l'infrastructure de test unitaire.

Projet

Les groupes de test du nom des projets.

Hh270865.collapse_all(fr-fr,VS.110).gifRegroupement par des spécifications

Une fonctionnalité est habituellement une paire nom/valeur de catégorie, mais il peut également être une même catégorie.Les fonctionnalités peuvent être assignées aux méthodes marquées comme méthode de test par l'infrastructure de test unitaire.Une infrastructure de test unitaire peut définir des catégories de fonctionnalités.Vous pouvez ajouter des valeurs aux catégories de fonctionnalités pour définir vos propres paires nom/valeur de catégorie.La syntaxe pour spécifier des catégories et des valeurs de fonctionnalités est définie par l'infrastructure de test unitaire.

Par exemple, dans l'infrastructure de test unitaire Microsoft pour les applications managées, vous définissez une paire nom/valeur de fonctionnalités à l'aide de TestPropertyAttribute.L'infrastructure de test unitaire Microsoft contient également les fonctionnalités intégrées :

Fonctionnalité

Description

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.OwnerAttribute ]

La catégorie de propriétaire est définie par l'infrastructure de test unitaire et requiert soit nécessaire de fournir une valeur de chaîne du propriétaire.

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.PriorityAttribute ]

La catégorie de priorité est définie par l'infrastructure de test unitaire et requiert soit nécessaire de fournir une valeur entière de priorité.

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.TestCategoryAttribute ]

L'attribut de TestCategory vous permet de fournir une catégorie sans valeur.Une catégorie définie par l'attribut de TestCategory peut également être la catégorie d'un attribut de TestProperty.

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute ]

L'attribut de TestProperty vous permet de définir la catégorie de fonctionnalité/paires de valeur.

Fonctionnalités de l'infrastructure de test unitaire Microsoft pour C++

Pour définir une fonctionnalité, utilisez la macro dans TEST_METHOD_ATTRIBUTE .Par exemple, définir une fonctionnalité nommée TEST_MY_TRAIT:

#define TEST_MY_TRAIT(traitValue) TEST_METHOD_ATTRIBUTE(L"MyTrait", traitValue)

Pour utiliser la fonctionnalité définie dans vos tests unitaires :

BEGIN_TEST_METHOD_ATTRIBUTE(Method1)
    TEST_OWNER(L"OwnerName")
    TEST_PRIORITY(1)
    TEST_MY_TRAIT(L"thisTraitValue")
END_TEST_METHOD_ATTRIBUTE()

TEST_METHOD(Method1)
{   
    Logger::WriteMessage("In Method1");
    Assert::AreEqual(0, 0);
}

Macros d'attribut de fonctionnalités C++

Macro

Description

TEST_METHOD_ATTRIBUTE(attributeName, attributeValue)

Utilisez la macro de TEST_METHOD_ATTRIBUTE pour définir une fonctionnalité.

TEST_OWNER(ownerAlias)

Utilisez la fonctionnalité intégrée de propriétaire pour spécifier un propriétaire de la méthode de test.

TEST_PRIORITY(priority)

Utilisez la fonctionnalité intégrée priorité pour assigner des priorités relatives à vos méthodes de test.

Dans cette section

Hh270865.collapse_all(fr-fr,VS.110).gifRecherche et filtrage de la liste de tests

Vous pouvez utiliser des filtres explorateur de tests pour limiter les méthodes de test dans vos projets que vous affichez et gérer.

Lorsque vous tapez une chaîne dans la zone de recherche de l'explorateur de tests et appuyez sur ENTRÉE, la liste de tests est filtrée pour afficher uniquement les tests dont les noms complets contient la chaîne.

Pour effectuer un filtrage en fonction de différents critères :

  1. Ouvrez la liste déroulante située à droite de la zone de recherche.

  2. Choisissez les nouveaux critères.

  3. Entrez la valeur de filtre entre guillemets.

Rechercher des catégories de filtre

[!REMARQUE]

Les recherches ne respectent pas la casse et correspondent à la chaîne spécifiée à n'importe quelle partie de la valeur de critères.

Qualificateur

Description

Fonctionnalité

Recherche la catégorie et la valeur de fonctionnalités pour les correspondances.La syntaxe pour spécifier des catégories de fonctionnalités et les valeurs sont définies par l'infrastructure de test unitaire.

Projet

Recherche les noms de projets de test pour les correspondances.

Message d'erreur

Recherche des messages d'erreur défini par l'utilisateur retournés par des assertions pour les correspondances.

Chemin d'accès de fichier

Recherche le nom de fichier complet des fichiers sources de test pour les correspondances.

Nom complet

Recherche le nom de fichier complet des espaces de noms, des classes, et les méthodes de test pour les correspondances.

Sortie

Recherche des messages d'erreur défini par l'utilisateur qui sont écrits dans la sortie standard (stdout) ou à l'erreur standard (stderr).La syntaxe pour spécifier les messages de sortie sont définies par l'infrastructure de test unitaire.

Résultat

Recherche les noms de catégorie de la fenêtre explorateur de tests pour les correspondances : Tests échoués, Tests ignorés, Tests réussis.

Dans cette section

Tests unitaires de débogage

Vous pouvez utiliser l'explorateur de tests pour démarrer une session de débogage de vos tests.L'exécution pas - à - pas votre code avec le débogueur Visual Studio vous guide de façon transparente dans les deux sens entre les tests unitaires et le projet de test.Pour démarrer le débogage

  1. Dans l'éditeur Visual Studio, définissez un point d'arrêt dans une ou plusieurs méthodes de test que vous souhaitez déboguer.

    [!REMARQUE]

    Étant donné que les méthodes de test peuvent s'exécuter dans n'importe quel ordre, définissez des points d'arrêt dans toutes les méthodes de test que vous souhaitez déboguer.

  2. Dans l'explorateur de tests, sélectionnez les méthodes de test puis choisissez Déboguer les tests sélectionnés dans le menu contextuel.

Pour plus d'informations sur le debuggeur, consultez Débogage dans Visual Studio.

Dans cette section

Couverture du code d'analyse de test unitaire

[!REMARQUE]

La couverture du code de test unitaire est uniquement disponible dans Visual Studio ultimate et premium de Visual Studio.

Vous pouvez déterminer la proportion de votre code du produit testé réellement par vos tests unitaires à l'aide de l'outil de couverture du code Visual Studio.Vous pouvez exécuter la couverture du code sur les tests sélectionnés ou sur tous les tests d'une solution.

Pour exécuter la couverture du code pour les méthodes de test dans une solution :

  1. Choisissez Tests dans le menu de Visual Studio puis choisissez analysez la couverture du code.

  2. Sélectionnez l'une des commandes suivantes dans le sous-menu :

    • Tests sélectionnés exécute les méthodes de test que vous avez sélectionnées dans l'explorateur de tests.

    • Tous les tests exécute toutes les méthodes de test dans la solution.

Résultats de la couverture du code de la fenêtre affiche le pourcentage des blocs de code du produit ayant fait la ligne, la fonction, la classe, l'espace de noms et le module.

Pour plus d'informations, consultez Utilisation de la couverture du code pour déterminer la quantité de code testé.

Dans cette section

Diagnostic des problèmes de performance de méthode de test

Pour diagnostiquer pourquoi une méthode de test utilise trop de temps, sélectionnez la méthode dans l'explorateur de tests et cliquez sur Profil dans le menu contextuel.Consultez Analyse des performances de l'application à l'aide des outils de profilage.

Dans cette section

Ressources externes

Hh270865.collapse_all(fr-fr,VS.110).gifAide

Tester pour la Livraison Continue avec Visual Studio 2012 – Chapître 2 : Test Unitaire : Tester l'Intérieur

Voir aussi

Concepts

Vérification du code à l'aide de tests unitaires

Comment : exécuter un test unitaire en tant que processus 64 bits