Configuration de tests unitaires à l'aide d'un fichier .runsettings
Les tests unitaires dans Visual Studio 2012 peuvent être configurés à l'aide d'un fichier de .runsettings.Par exemple, vous pouvez modifier le .NET Framework sur lequel les tests seront exécutés, le répertoire où les résultats des tests sont remis, et les données recueillies pendant une série de tests.
[!REMARQUE]
.runsettings et .testsettings
.runsettings est nouveau dans Visual Studio 2012.Si vous êtes familiarisé avec le test unitaire dans les versions antérieures de Visual Studio, vous pouvez savoir les fichiers de .testsettings.Vous pouvez toujours utiliser .testsettings dans Visual Studio 2012, donc tous les paramètres de test que vous avez entrés pour les éditions précédentes s'exécuteront toujours.Mais .testsettings permet de configurer uniquement les tests spécifié avec l'adaptateur MSTest.En revanche, .runsettings peut être utilisé avec les adaptateurs l'un des générés pour l'infrastructure extensible de test unitaire dans Visual Studio 2012, tel que le xUnit.réseau et NUnit.
Les tests qui utilisent des fichiers de .testsettings peuvent s'exécuter plus lentement que les tests qui utilisent des fichiers de .runsettings, ou pour laquelle il n'y a aucun fichier de configuration du tout.
Vous avez toujours besoin d'un fichier de .testsettings pour certains types de tests :
Tests qui sont déployés sur un environnement lab.
Performances et tests de charge de site Web.
Personnalisation des types d'adaptateurs de données de diagnostic, tels que IntelliTrace et le journal des événements.
Pour plus d'informations sur .testsettings, consultez Spécification de paramètres de test pour Visual Studio Tests.
Personnalisation des tests avec un fichier de .runsettings
Ajoutez un fichier XML à votre solution Visual Studio et renommez-le afin que son extension de fichier est .runsettings.
Remplacez le contenu du fichier avec exemple.
Le modifier à vos 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 de .runsettings dans votre solution, et les activer ou désactiver à différents moments à l'aide de le menu Paramètres de test .
Copiez ce fichier de l'exemple .runsettings
Voici un fichier type de .runsettings.Chaque élément du fichier est facultatif, car chaque valeur a une valeur 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 reste de cette rubrique décrit le contenu du fichier.
Modifiez votre fichier de .runsettings
Le fichier de .runsettings possède les éléments suivants.
Configuration de série de tests
Nœud |
Par défaut |
Valeurs |
---|---|---|
ResultsDirectory |
Le dossier dans lequel les résultats des tests seront placés. |
|
TargetFrameworkVersion |
Framework40 |
Framework35, Framework40, Framework45 Cela spécifie la version de l'infrastructure de test unitaire est utilisée pour la découverte et l'exécution des tests.Il peut être différent 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, real |
Adaptateurs de données de diagnostic (collecteurs de données)
L'élément d' DataCollectors spécifie des 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 présente le paramètre par défaut, et vous devez 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 ont été testées dans le test.Pour plus d'informations sur la personnalisation des paramètres pour la couverture du code, consultez Personnalisation de l'analyse de couverture du code.
D'autres adaptateurs de données de diagnostic
L'adaptateur de couverture du code est actuellement le seul adaptateur qui peut être personnalisé à l'aide de le 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 avec l'attribut d' [TestMethod] .
Configuration |
Par défaut |
Valeurs |
---|---|---|
ForcedLegacyMode |
false |
Dans Visual Studio 2012, l'adaptateur MSTest a été optimisé pour le rendre plus rapide et plus évolutif.Un certain comportement, telles que l'ordre dans lequel les tests sont exécutés, ne peut pas être exactement tels qu'il était en précédentes versions de Visual Studio.Définissez cette valeur true pour utiliser l'adaptateur de test plus ancien. Par exemple, vous pouvez utiliser ce scénario si vous avez spécifié un fichier app.config pour un test unitaire. Nous recommandons que vous envisagez de refactoriser des tests pour vous permettre d'utiliser l'adaptateur plus nouvel. |
IgnoreTestImpact |
false |
La fonctionnalité d'impact de test classe par ordre de priorité les tests affectés par les modifications récentes, lorsqu'il est exécuté dans MSTest ou le gestionnaire de tests Microsoft.Cette configuration met la fonctionnalité désactivé.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 de test en millisecondes ici.Vous pouvez également spécifier un fichier de paramètres de test à l'aide de le menu Test, Paramètres de test, Sélectionner le fichier de paramètres des tests. Si vous spécifiez cette valeur, ForcedlegacyMode est automatiquement la valeur true. |
|
KeepExecutorAliveAfterLegacyRun |
false |
Après une série de tests terminée, MSTest est désactivé.Tout processus qui est activé dans le cadre de le test sera également détruit de référence.Si vous souhaitez conserver l'exécuteur de test actif, désactiver ce paramètre la valeur true. Par exemple, vous pouvez l'utiliser pour conserver l'exécution de navigateur entre les tests codés de l'interface utilisateur. |
DeploymentEnabled |
true |
Si vous définissez ce paramètre la valeur false, les éléments de déploiement que vous avez spécifiés dans votre méthode de test ne sont pas copiés vers le répertoire de déploiement. |
CaptureTraceOutput |
true |
Vous pouvez écrire à la trace de débogage de votre méthode de test à Trace.WriteLine.Cette configuration, vous pouvez désactiver ces derniers déboguez des traces. |
DeleteDeploymentDirectoryAfterTestRunIsComplete |
true |
Vous pouvez conserver le dossier de déploiement après une série de tests en définissant la valeur false. |
MapInconclusiveToFailed |
false |
Si un test est retournée avec un état non concluant, il est généralement mappé au mode ignoré dans l'explorateur de tests.Si vous souhaitez les tests non concluants à afficher comme a échoué, utilisez ce paramètre. |
InProcMode |
false |
Si vous souhaitez les tests à exécuter dans le même processus que l'adaptateur de test en millisecondes, définissez cette valeur true.Ce paramètre fournit un gain de performances secondaire.Mais si un test s'arrête à une exception près, les autres tests ne continueront pas. |
Voir aussi
Concepts
Personnalisation de l'analyse de couverture du code
Autres ressources
Spécification de paramètres de test pour Visual Studio Tests