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.
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.
L'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é.
Exécution de tests après chaque build
Attention |
---|
Les tests unitaires en cours de exécution après chaque build est pris en charge uniquement dans Visual Studio final. |
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.
Dé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.
Ouvrez 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.
Regrouper 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 Grouper 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. |
Regroupement 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
Recherche 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 :
Ouvrez la liste déroulante située à droite de la zone de recherche.
Choisissez les nouveaux critères.
Entrez la valeur de filtre entre guillemets.
[!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
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.
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 :
Choisissez Tests dans le menu de Visual Studio puis choisissez analysez la couverture du code.
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
Aide
Voir aussi
Concepts
Vérification du code à l'aide de tests unitaires
Comment : exécuter un test unitaire en tant que processus 64 bits