Configuration de tests unitaires à l'aide d'un fichier .runsettings
Les tests unitaires dans Visual Studio peuvent être configurés à l'aide d'un fichier *.runsettings.(Le nom du fichier n'a pas d'importance, à condition que l'extension soit « .runsettings ».) Par exemple, vous pouvez modifier le .NET Framework sur lequel les tests seront exécutés, le répertoire dans lequel les résultats des tests sont remis et les données recueillies pendant une série de tests.
Si vous ne voulez pas appliquer de configuration spéciale, vous n'avez pas besoin de fichier *.runsettings.L'utilisation la plus fréquente consiste à personnaliser la Couverture du code.
[!REMARQUE]
.runsettings et .testsettings
Il existe deux types de fichiers pour configurer des tests.Les fichiers *.runsettings sont utilisés pour les tests unitaires.Les fichiers *.testsettings sont utilisés pour les tests d'environnement de laboratoire, les tests de charge et de performance web, et pour la personnalisation de certains types d'adaptateurs de données de diagnostic tels qu'Intellitrace et les adaptateurs de journaux des événements.
Dans les éditions précédentes de Visual Studio jusqu'à la version 2010, vous pouvez aussi personnaliser les tests unitaires à l'aide de fichiers *.testsettings.C'est encore possible, mais les tests s'exécuteront plus lentement que si vous utiliser les configurations équivalentes dans un fichier *.runsettings.
Personnalisation des tests avec un fichier .runsettings
Ajoutez un fichier XML à votre solution Visual Studio et renommez-le test.runsettings.(Le nom du fichier n'a pas d'importance, mais l'extension doit être .runsettings.)
Remplacez le contenu du fichier par l'exemple.
Effectuez des modifications en fonction de vos propres besoins.
Dans le menu Test, choisissez Paramètres de test, Sélectionner le fichier de paramètres des tests.
Vous pouvez créer plusieurs fichiers *.runsettings dans votre solution et les activer ou les désactiver à différents moments en utilisant le menu Paramètres de test.
Copier cet exemple de fichier .runsettings
Voici un fichier *.runsettings classique.Chaque élément du fichier est facultatif, car chaque valeur est définie par défaut.
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- Configurations that affect the Test Framework -->
<RunConfiguration>
<!-- Path relative to solution directory -->
<ResultsDirectory>.\TestResults</ResultsDirectory>
<!-- [x86] | x64
- You can also change it from menu Test, Test Settings, Default Processor Architecture -->
<TargetPlatform>x86</TargetPlatform>
<!-- Framework35 | [Framework40] | Framework45 -->
<TargetFrameworkVersion>Framework40</TargetFrameworkVersion>
</RunConfiguration>
<!-- Configurations for data collectors -->
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CodeCoverage>
<ModulePaths>
<Exclude>
<ModulePath>.*CPPUnitTestFramework.*</ModulePath>
</Exclude>
</ModulePaths>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
<!-- Adapter Specific sections -->
<!-- MSTest adapter -->
<MSTest>
<MapInconclusiveToFailed>True</MapInconclusiveToFailed>
<CaptureTraceOutput>false</CaptureTraceOutput>
<DeleteDeploymentDirectoryAfterTestRunIsComplete>False</DeleteDeploymentDirectoryAfterTestRunIsComplete>
<DeploymentEnabled>False</DeploymentEnabled>
</MSTest>
</RunSettings>
Le fichier .runsettings sert aussi à configurer la Couverture du code.
Le reste de cette rubrique décrit le contenu du fichier.
Modifier votre fichier .runsettings
Le fichier .runsettings possède les éléments suivants.
Configuration de série de tests
Nœud |
Par défaut |
Valeurs |
---|---|---|
ResultsDirectory |
Répertoire où les résultats de test seront placés. |
|
TargetFrameworkVersion |
Framework40 |
Framework35, Framework40, Framework45 Spécifie la version de l'infrastructure de tests unitaires qui est utilisée pour découvrir et exécuter les tests.Elle peut être différente de la version de la plateforme .NET. que vous spécifiez dans les propriétés de génération du projet de test unitaire. |
TargetPlatform |
x86 |
x86, x64 |
TreatTestAdapterErrorsAsWarnings |
false |
false, true |
Diagnostic des adaptateurs de données (collecteurs de données)
L'élément DataCollectors spécifie les paramètres des adaptateurs de données de diagnostic.Les adaptateurs de données de diagnostic sont utilisés pour rassembler des informations supplémentaires sur l'environnement et l'application testée.Chaque adaptateur a des paramètres par défaut. Il vous suffit de fournir des paramètres si vous ne souhaitez pas utiliser les valeurs par défaut.
Adaptateur de couverture du code
Le collecteur de données de couverture du code crée un journal des parties du code d'application qui ont été testées.Pour plus d'informations sur la personnalisation des paramètres pour la couverture du code, consultez Personnalisation de l'analyse de couverture du code.
Autres adaptateurs de données de diagnostic
L'adaptateur de couverture du code est actuellement le seul adaptateur qui peut être personnalisé à l'aide du fichier de paramètres d'exécution.
Pour personnaliser un autre type d'adaptateur de données de diagnostic, vous devez utiliser un fichier de paramètres de test.Pour plus d'informations, consultez Spécification de paramètres de test pour Visual Studio Tests.
Paramètres d'exécution MSTest
Ces paramètres sont spécifiques à l'adaptateur de test qui exécute les méthodes de test disposant de l'attribut [TestMethod].
Configuration |
Par défaut |
Valeurs |
---|---|---|
ForcedLegacyMode |
false |
Dans Visual Studio 2012, l'adaptateur MSTest a été optimisé afin d'être plus rapide et plus évolutif.Un comportement, tel que l'ordre dans lequel les tests sont exécutés, peut ne pas être exactement identique à celui d'éditions précédentes de Visual Studio.Attribuez la valeur true pour utiliser l'adaptateur de test le plus ancien. Par exemple, vous pouvez utiliser ce scénario si un fichier app.config est spécifié pour un test unitaire. Il est recommandé d'envisager de refactoriser vos tests pour vous permettre d'utiliser le nouvel adaptateur. |
IgnoreTestImpact |
false |
La fonctionnalité d'impact de test classe par priorité les tests affectés par des modifications récentes, lorsqu'ils sont exécutés dans MSTest ou à partir de Microsoft Test Manager.Ce paramètre désactive la fonctionnalité.Pour plus d'informations, consultez Comment : collecter des données pour vérifier quels tests doivent être exécutés après les modifications de code. |
SettingsFile |
Vous pouvez spécifier un fichier de paramètres de test à utiliser avec l'adaptateur MSTest ici.Vous pouvez également spécifier un fichier de paramètres de test via le menu Test, Paramètres de test, Sélectionner le fichier de paramètres des tests. Si vous spécifiez cette valeur, vous devez également affecter à ForcedlegacyMode la valeur true.
|
|
KeepExecutorAliveAfterLegacyRun |
false |
Une fois qu'une série de tests est terminée, MSTest est arrêté.Tout processus qui est lancé dans le cadre du test sera également supprimé à ce moment.Si vous souhaitez conserver l'exécuteur de test actif, définissez cette configuration sur true. Par exemple, vous pouvez l'utiliser pour que le navigateur continue à s'exécuter entre les tests de l'interface utilisateur codés. |
DeploymentEnabled |
true |
Si vous définissez cette valeur sur false, les éléments de déploiement que vous avez spécifiés dans votre méthode de test ne seront pas copiés vers le répertoire de déploiement. |
CaptureTraceOutput |
true |
Vous pouvez écrire dans la trace du débogage à partir de votre méthode de test en utilisant Trace.WriteLine.Cette configuration vous permet de désactiver ces traces de débogage. |
DeleteDeploymentDirectoryAfterTestRunIsComplete |
true |
Vous pouvez conserver le répertoire de déploiement après une série de tests en définissant cette valeur sur false. |
MapInconclusiveToFailed |
false |
Si un test retourne un état Non concluant, il est généralement mappé à l'état Ignoré dans l'Explorateur de tests.Si vous souhaitez que les tests non concluants s'affichent comme ayant échoué, utilisez cette configuration. |
InProcMode |
false |
Si vous souhaitez que vos tests soient exécutés dans le même processus que l'adaptateur de test Microsoft, définissez cette valeur sur True.Ce paramètre offre un gain de performances mineur.Mais si un test s'arrête à cause d'une exception, les autres tests s'arrêteront également. |
Voir aussi
Concepts
Personnalisation de l'analyse de couverture du code
Autres ressources
Spécification de paramètres de test pour Visual Studio Tests