Comment : obtenir des données de couverture du code

Mise à jour : novembre 2007

Vous pouvez mesurer l'efficacité de tests ligne par ligne ou même bloc par bloc. Pour cela, vous devez configurer des séries de tests de manière à produire des données de couverture du code. Les données résultantes sont affichées dans la fenêtre Résultats de la couverture du code et dans vos fichiers de code source.

Des données de couverture du code sont rassemblées lorsque des artefacts, en général des fichiers binaires, ont été instrumentés et, pendant une série de tests, sont chargés en mémoire. La procédure Obtention de données de couverture du code décrit comment sélectionner un fichier à instrumenter.

Remarque :

Par défaut, la couverture du code est mesurée lorsque vous exécutez des tests unitaires. Lorsque vous exécutez des tests unitaires, vous devez par conséquent suivre les étapes décrites dans Obtention de données de couverture du code uniquement si la couverture du code a été désactivée ou si vous souhaitez instrumenter des artefacts supplémentaires en vue de rassembler des données de couverture du code pour ces artefacts.

Une fois la série de tests terminée, vous pouvez consulter les données de couverture du code. Pour plus d'informations, consultez Affichage des données de couverture du code.

Vous pouvez également fusionner plusieurs jeux de données de couverture du code, comme décrit dans Comment : fusionner des données de couverture du code. Pour plus d'informations sur les différentes circonstances relatives à la fusion de données de couverture du code, consultez Utilisation des données de couverture du code fusionnées.

Comme expliqué dans Instrumentation et nouvelle signature d'assemblys, les assemblys avec nom fort qui ont été instrumentés doivent être signés de nouveau. Vous activez la nouvelle signature en spécifiant un fichier de clé. Pour plus d'informations, consultez Nouvelle signature d'assemblys.

Vous devez instrumenter explicitement des artefacts pour obtenir des données de couverture du code lorsque vous exécutez des tests autres que des tests unitaires. Par exemple, un testeur qui exécute un test manuel peut démarrer un programme particulier. Si les binaires du programme sont instrumentés, les données de couverture du code seront rassemblées. Pour plus d'informations, consultez Vue d'ensemble des tests manuels.

Obtention de données de couverture du code

Pour obtenir des données de couverture du code

  1. Créez des tests pour votre code. Il peut s'agir de tests unitaires ou d'autres types de tests qui testent le code pour lequel vous avez des symboles, et vous avez sélectionné les binaires appropriés à instrumenter.

    Pour plus d'informations sur la création de tests unitaires, consultez Comment : générer un test unitaire.

  2. Ouvrez la configuration de série de tests que vous utiliserez pour vos tests unitaires.

    Pour plus d'informations, consultez Comment : spécifier la configuration d'une série de tests.

  3. Cliquez sur Couverture du code.

  4. Sous Sélectionner les artefacts à instrumenter, sélectionnez la DLL, le fichier exécutable ou le répertoire de votre solution. Par exemple, si votre solution se nomme ClassLibrary1, activez la case à cocher de l'assembly nommé ClassLibrary1.dll dont le chemin d'accès est <RépertoireSolution>\ClassLibrary1\bin\Debug.

    Remarque :

    Vous pouvez également sélectionner la DLL qui contient vos fichiers de projet de test. Cela génère des données de couverture du code pour les méthodes de votre projet de test, et non uniquement pour les méthodes de votre code de production.

  5. Cliquez sur Appliquer, puis sur Fermer.

  6. Exécutez un ou plusieurs tests.

    Pour plus d'informations, consultez Comment : exécuter des tests sélectionnés.

    Pendant que les tests s'exécutent, les données de couverture du code sont rassemblées. Pour plus d'informations sur leur affichage, consultez Affichage des données de couverture du code.

    Remarque :

    L'exécution de VSPerfMon.exe peut interagir avec la collecte de données de couverture du code. Pour plus d'informations, consultez la section « Données de couverture du code et VSPerfMon.exe » dans Dépannage dans Test Edition.

    Les données de couverture du code ne peuvent pas être recueillies pour une application qui s'exécute dans un processus 64 bits. Par conséquent, lorsque vous demandez les données de couverture du code lors du test d'une telle application, le moteur de test définit l'indicateur 32 bits dans l'en-tête de fichier exécutable portable (PE, Portable Executable) de l'assembly à instrumenter. Une fois la série de tests terminée, l'assembly est rétabli à son état d'origine.

Nouvelle signature d'assemblys

Pour signer de nouveau des assemblys

  1. Ouvrez la configuration de série de tests que vous utiliserez pour vos tests unitaires.

    Pour plus d'informations, consultez Comment : spécifier la configuration d'une série de tests.

  2. Cliquez sur Couverture du code.

  3. Cliquez sur le bouton de sélection (…) situé à côté de la zone de texte Nouvelle signature.

    La boîte de dialogue Choisir un fichier de clé s'affiche.

  4. Sélectionnez un fichier de clé, puis cliquez sur Ouvrir.

  5. Dans l'éditeur de configuration de série de tests, cliquez sur Appliquer, puis sur Fermer.

    Si vous testez plusieurs assemblys qui ont été signés, Visual Studio essaiera de signer de nouveau tous les assemblys avec nom fort qui ont été signés avec le fichier de clé spécifié. Pour plus d'informations, consultez « Signer de nouveau l'assembly » dans Instrumentation et nouvelle signature d'assemblys.

Affichage des données de couverture du code

Condition préalable : vous devez avoir exécuté des tests ayant produit des données de couverture du code comme indiqué dans Obtention de données de couverture du code.

Pour afficher des données de couverture du code

  1. Dans la barre d'outils Résultats des tests, cliquez sur Résultats de la couverture du code. Ou bien cliquez sur Fenêtres dans le menu Test, puis cliquez sur Résultats de la couverture du code.

    La fenêtre Résultats de la couverture du code s'ouvre.

  2. Dans la fenêtre Résultats de la couverture du code, la colonne Hiérarchie affiche un nœud qui contient toutes les données de couverture du code obtenues lors de la série de tests la plus récente. Si une erreur s'est produite, le message d'erreur est affiché à cet emplacement plutôt qu'au nœud racine. Si le nœud est affiché, développez-le.

    Remarque :

    Par défaut, le nœud de série de tests est nommé à l'aide du format <NomUtilisateur>@<NomOrdinateur> <date> <heure>. Vous pouvez modifier le schéma d'affectation de noms par défaut sur la page Général de la boîte de dialogue Options. Pour plus d'informations, consultez Comment : spécifier la configuration d'une série de tests.

  3. Développez le nœud de l'assembly, de l'espace de noms et d'une classe dans votre code de production.

    Les lignes dans la classe représentent ses méthodes. Les colonnes de cette table affichent des statistiques de couverture pour les différentes méthodes, pour les classes et pour l'ensemble de l'espace de noms.

  4. Double-cliquez sur la ligne d'une des méthodes dans la classe.

    Le fichier de code source s'ouvre à la méthode que vous avez choisie. Dans ce fichier, vous pouvez constater que du code est mis en surbrillance. En faisant défiler, vous pouvez afficher la couverture pour les autres méthodes de ce fichier. Pour modifier les couleurs dans lesquelles les lignes de code sont mises en surbrillance, consultez Modification de l'affichage des données de couverture du code.

    Remarque :

    Vous pouvez cliquer sur des boutons de la barre d'outils Outils de test pour faire basculer l'affichage de couverture du code dans le fichier et pour naviguer jusqu'aux lignes de code précédentes ou suivantes dans le fichier.

  5. (Facultatif) Si vous avez activé la case à cocher de la DLL de votre projet de test, vous pouvez ouvrir le fichier de code source qui contient vos tests unitaires afin de savoir quelles méthodes de test ont été exercées.

Affichage de différents calculs de couverture du code

Les calculs de couverture du code présentent les totaux de couverture du code sous forme de colonnes dans la fenêtre Résultats de la couverture du code. Vous pouvez activer l'affichage des calculs relatifs au code qui a été couvert ou non par des séries de tests dans huit colonnes maximum. Dans les colonnes, vous pouvez activer l'affichage des calculs sous forme de pourcentage ou de total numérique. Dans les colonnes, vous pouvez également activer l'affichage des calculs pour les lignes de code et pour les blocs de code.

Pour afficher ou masquer une colonne de données de couverture du code

  1. Cliquez avec le bouton droit sur l'une des données qui figure dans la fenêtre Résultats de la couverture du code.

  2. Cliquez sur Ajouter/Supprimer des colonnes.

  3. Activez les cases à cocher dont vous souhaitez afficher les éléments et désactivez les autres.

  4. Cliquez sur OK.

Modification de l'affichage des données de couverture du code

Par défaut, des couleurs particulières sont utilisées pour indiquer si le code a été couvert par les tests exécutés. Les lignes marquées en bleu clair ont été exercées dans la série de tests et les lignes marquées en marron rougeâtre ne l'ont pas été. Sur les lignes marquées en beige, seule une partie du code a été exercée.

Pour modifier l'affichage des données de couverture du code

  1. Cliquez sur Outils, puis sur Options.

    La boîte de dialogue Options s'affiche.

  2. Développez Environnement.

  3. Cliquez sur Polices et couleurs.

  4. Sous Afficher les paramètres de, sélectionnez Éditeur de texte.

  5. Sous Éléments affichés, sélectionnez la zone de couverture du code dont vous souhaitez modifier la couleur d'affichage. Les choix disponibles sont Zone non couverte, Zone partiellement couverte et Zone couverte.

  6. Modifiez les paramètres de cette zone de couverture du code. Vous pouvez modifier les couleurs de premier plan et d'arrière-plan, ainsi que la police, la taille de police et la mise en gras du texte.

  7. (Facultatif) Modifiez les paramètres d'autres zones de couverture du code.

  8. Lorsque vous avez terminé, cliquez sur OK.

Voir aussi

Tâches

Comment : exécuter des tests sélectionnés

Comment : spécifier la configuration d'une série de tests

Comment : appliquer une configuration de série de tests

Dépannage dans Test Edition

Concepts

Instrumentation et nouvelle signature d'assemblys

Utilisation des données de couverture du code fusionnées

Autres ressources

Comment : générer un test unitaire