Choix du dossier d'instrumentation
Si vous souhaitez collecter les données de couverture du code pendant que vous testez le code dans un assembly, Visual Studio doit tout d'abord instrumenter cet assembly. Le processus d'instrumentation ajoute le code à l'assembly qui génère les données de couverture du code.
Vous pouvez choisir le dossier dans lequel les assemblys sont instrumentés. Visual Studio peut instrumenter des assemblys dans l'un ou l'autre des emplacements suivants :
Sur place. Si vous sélectionnez l'instrumentation sur place, Visual Studio instrumente l'assembly dans le dossier où il réside avant l'exécution du test. Si l'assembly fait partie d'une application que vous êtes en train de créer, il s'agit du dossier où Visual Studio a généré l'assembly.
Dans le dossier de déploiement. Si vous ne sélectionnez pas l'instrumentation sur place, Visual Studio instrumente l'assembly dans le dossier de déploiement. Les dossiers de déploiement sont créés spécifiquement pour les séries de tests. Pour plus d'informations sur la configuration du déploiement de tests, consultez Comment : configurer le déploiement d'un test.
Choix du dossier d'instrumentation
Le choix de l'emplacement dépend du niveau d'accès à l'assembly dont vous bénéficiez et du type d'assembly.
Assemblys avec disponibilité limitée. Tout assembly qui se trouve dans un ou plusieurs des états ci-dessous est répertorié dans le tableau suivant comme assembly à disponibilité limitée :
L'assembly est partagé entre plusieurs personnes. Le problème des assemblys partagés réside dans la possibilité de conflit entre plusieurs utilisateurs. Exemple : deux utilisateurs démarrent des séries de tests et demandent des données de couverture du code dans le même assembly en même temps.
L'assembly est sur un partage réseau, pas sur votre ordinateur local.
Vous avez un accès en lecture seule à l'assembly.
Assemblys avec emplacement de chargement fixe. Le moteur d'exécution de tests peut charger certains assemblys uniquement à partir d'un emplacement spécifique. Un tel assembly est répertorié en tant qu'assembly avec emplacement de chargement fixe dans le tableau ci-dessous. Ces fichiers comprennent les types de fichiers suivants :
des composants COM ;
Pages du Panneau de configuration
Le tableau suivant offre une aide au choix du dossier d'instrumentation correct. Consultez la colonne Remarques supplémentaire pour les cas qui nécessitent la prise en compte de facteurs spéciaux.
Emplacement de chargement de l'assembly |
Disponibilité de l'assembly |
Instrumenter dans ce dossier |
Remarques supplémentaires |
fixed |
non limité |
sur place |
(aucun) |
non fixe |
limité |
dans le dossier de déploiement |
(aucun) |
non fixe |
non limité |
Les deux dossiers fonctionnent, mais il est recommandé de choisir 'dans le dossier de déploiement'. |
Si après avoir choisi l'instrumentation sur place, vous régénérez un assembly instrumenté pendant la série de tests, le moteur de test détecte que l'assembly régénéré est plus récent. Il ne restaure donc pas sa version pré-instrumentée et émet un avertissement de niveau d'exécution. |
fixed |
limité |
Sur place, mais consultez les remarques supplémentaires |
Si vous ne choisissez pas l'instrumentation sur place, aucun assembly situé dans un emplacement fixe n'est instrumenté. Cela signifie que, même si l'exécution de test réussit et qu'aucun avertissement de niveau d'exécution ne soit généré, les données de couverture du code ne sont pas rassemblées. |
Spécification du dossier d'instrumentation
Vous pouvez choisir entre l'instrumentation sur place et l'instrumentation dans le dossier de déploiement de deux manières :
Pour faire de votre choix le paramètre par défaut, ouvrez la boîte de dialogue Options dans le menu Outils de Visual Studio. Vous trouverez ce paramètre sur la page Exécution de tests sous le nœud Outils de test.
Vous pouvez également spécifier le dossier d'instrumentation de vos paramètres de test, lorsque vous configurez l'adaptateur de données de diagnostic pour la couverture du code. Pour plus d'informations, consultez Comment : configurer la couverture du code à l'aide de paramètres de test pour les tests automatisés.
Emplacement fixe, assemblys à disponibilité limitée
Pour modifier l'assembly qui doit être instrumenté sur place, les critères suivants doivent être satisfaits :
L'attribut de lecture seule du fichier d'assembly ne doit pas être défini. Vous pouvez modifier ce paramètre si vous bénéficiez des autorisations suffisantes sur le fichier.
L'utilisateur qui exécute le test doit bénéficier des privilèges requis pour modifier les assemblys. Parce que l'instrumentation est exécutée par l'application hôte, le compte qui a besoin de ces privilèges est le compte sous lequel devenv.exe ou MSTest.exe est exécuté, que l'exécution s'effectue localement ou à distance. Ce compte appartient à la personne qui exécute Visual Studio, qui a exécuté la commande MSTest.exe ou qui a démarré une build qui, à son tour, exécute des tests.
Le fichier d'assembly ne doit être ni en cours d'utilisation, ni verrouillé par un autre programme. Pour corriger ce problème, vous devez arrêter le programme qui provoque le verrouillage ou attendre qu'il finisse.
Si le moteur de test ne peut toujours pas instrumenter un ou plusieurs assemblys, il émet un avertissement de niveau d'exécution.
Voir aussi
Tâches
Comment : configurer le déploiement d'un test
Concepts
Instrumentation et nouvelle signature d'assemblys
Autres ressources
Créer des paramètres de test pour exécuter des tests automatisés à partir de Visual Studio
Créer des paramètres de test pour les tests automatisés dans le cadre du plan de test