Options de ligne de commande MSTest.exe
MSTest.exe est la commande de ligne de commande qui est utilisée pour exécuter des tests. Cette commande propose plusieurs options que vous pouvez utiliser pour personnaliser votre série de tests. Vous pouvez utiliser la plupart de ces options en combinaisons ; il est d'ailleurs nécessaire pour certaines options d'être utilisées en combinaison avec d'autres, comme indiqué dans les sections suivantes. Vous pouvez spécifier ces options dans un ordre quelconque sur la ligne de commande MSTest.exe.
MSTest.exe n'interprète pas les options ou leurs valeurs en respectant la casse.
Les tableaux suivants répertorient toutes les options de MSTest.exe ainsi que de brèves descriptions. Vous pouvez afficher un résumé semblable en tapant MSTest /h sur une ligne de commande.
Options de ligne de commande générales
/testcontainer:[file name] |
Charger un fichier qui contient des tests. Exemple : /testcontainer:tests.dll Pour plus d'informations, consultez /testcontainer. |
/testmetadata:[file name] |
Charger un fichier qui contient des métadonnées de tests. Pour plus d'informations, consultez /testmetadata. |
/testlist:[test list path] |
Spécifier la liste de tests, telle que spécifiée dans le fichier de métadonnées, à exécuter. Pour plus d'informations, consultez /testlist. |
/category:[test category filter] |
Spécifiez et filtrez les catégories de test à exécuter. Pour plus d'informations, consultez /category. |
/test:[test name] |
Spécifier le nom d'un test à exécuter. Pour plus d'informations, consultez /test. |
/noisolation |
Exécutez les tests dans le processus MSTest.exe. Ce choix améliore la vitesse d'exécution des tests mais augmente le risque au niveau du processus MSTest.exe. |
/testsettings: [file name] |
Utilisez le fichier de paramètres de test spécifié. Exemple : /testsettings:Local.Testsettings Pour plus d'informations, consultez /testsettings. |
/runconfig:[file name] |
Utiliser le fichier de configuration de série de tests spécifié. Exemple : /runconfig:localtestrun.Testrunconfig Pour plus d'informations, consultez /runconfig. Notes Cette option de ligne de commande est conservée pour compatibilité avec les versions antérieures de Visual Studio.Les configurations de série de tests ont été remplacées par les paramètres de test dans Visual Studio Premium. |
/resultsfile:[file name] |
Enregistrer les résultats de la série de tests dans le fichier spécifié. Exemple : /resultsfile:testResults.trx Pour plus d'informations, consultez /resultsfile. |
/detail:[property id] |
Spécifier le nom d'une propriété pour laquelle vous souhaitez afficher des valeurs, le cas échéant, en plus des résultats des tests. Pour plus d'informations, consultez /detail. |
/help |
Afficher le message d'utilisation MSTest.exe (forme abrégée : /? ou /h). |
/nologo |
Ne pas afficher de bannière de démarrage ni de message de copyright. |
/usestderr |
Utiliser l'erreur standard pour la sortie des informations d'erreur. |
Options de ligne de commande pour la publication des résultats de tests
Pour plus d'informations sur ces options, consultez Options de ligne de commande pour la publication des résultats de tests.
/publish:[server name] |
Publiez les résultats vers la base de données pour la collection de projets d'équipe du serveur spécifié. |
/publishresultsfile:[file name] |
Spécifier le nom du fichier de résultats à publier. Si aucun nom de fichier de résultats n'est spécifié, utiliser le fichier produit par la série de tests actuelle. |
/publishbuild:[build id] |
Publier des résultats de tests à l'aide de cet ID de génération. |
/teamproject:[team project name] |
Spécifiez le nom du projet collaboratif auquel la génération appartient. |
/platform:[platform] |
Spécifier la plateforme de la génération contre laquelle les résultats des tests doivent être publiés. |
/flavor:[flavor] |
Spécifier la version de la génération contre laquelle les résultats des tests doivent être publiés. |
Utilisation des options de MSTest
Les sections suivantes décrivent une grande partie des options de MSTest.exe de manière plus détaillée. Les options utilisées pour la publication de résultats des tests ne sont pas incluses dans cet article. Pour plus d'informations sur ces options, consultez Options de ligne de commande pour la publication des résultats de tests.
/testcontainer
/testcontainer:[file name]
Le conteneur de tests est un fichier qui contient les tests à exécuter. Par exemple, pour les tests ordonnés, le conteneur de tests est le fichier .orderedtest qui définit le test ordonné. Pour les tests unitaires, il s'agit de l'assembly généré à partir du projet de test qui contient les fichiers source des tests unitaires.
Notes
Pour les tests unitaires, il s'agit de l'assembly qui contient le code de test, et non de l'assembly qui contient le code de l'application sous test.Par exemple, si votre solution contient un projet nommé BankAccount et un projet de test correspondant nommé BankAccountTest, spécifiez /testcontainer:BankAccountTest.dll.
Notes
Étant donné que le fichier de métadonnées de test répertorie également les tests que vous pouvez exécuter, vous ne devez pas spécifier les deux options /testcontainer et /testmetadata sur une même ligne de commande. Cela serait ambigu et générerait une erreur.
/testmetadata
/testmetadata:[file name]
Vous pouvez utiliser l'option /testmetadata pour exécuter des tests dans plusieurs conteneurs de tests.
Le fichier de métadonnées de test est créé pour votre solution lorsque vous créez des listes de tests à l'aide de la fenêtre Explorateur de tests. Ce fichier contient des informations sur tous les tests répertoriés dans la fenêtre Explorateur de tests. Ce sont tous les tests qui existent dans tous les projets de test de votre solution.
Le fichier de métadonnées de test est un fichier XML créé dans le dossier de solution. Ce fichier est affiché dans l'Explorateur de solutions sous le nœud Éléments de solution. Un fichier de métadonnées de test possède une extension .vsmdi et est associé à la fenêtre Explorateur de tests. Autrement dit, si vous double-cliquez sur un fichier .vsmdi dans l'Explorateur Windows (ou Explorateur de fichiers), le fichier ouvre Visual Studio et son contenu. Tous les tests qui se trouvent dans les projets de test d'une solution sont affichés dans la fenêtre Explorateur de tests.
Vous pouvez modifier le fichier de métadonnées de test uniquement en apportant des modifications qui sont répercutées dans la fenêtre Explorateur de tests (telles que la création ou la suppression de tests) ou en modifiant les propriétés d'un test.
Notes
Étant donné que le conteneur de test contient également les tests que vous pouvez exécuter, vous ne devez pas spécifier les deux options /testcontainer et /testmetadata sur une même ligne de commande. Cela serait ambigu et générerait une erreur.
Lorsque vous utilisez l'option /testmetadata, il est recommandé d'indiquer des tests spécifiques à exécuter au moyen de l'option /test ou de l'option /testlist, ou des deux.
/testlist
/testlist:[test list path]
L'option /testlist est une liste de tests (telle que spécifiée dans le fichier de métadonnées de test) à exécuter. Pour exécuter les tests contenus dans plusieurs listes de tests, utilisez l'option /testlist plusieurs fois. Les tests ordonnés de la liste de tests seront exécutés.
Notes
Vous pouvez utiliser l'option /testlist uniquement si vous utilisez également l'option /testmetadata.
Vous pouvez utiliser l'option /testlist et l'option /test ensemble. Cela revient à sélectionner à la fois une liste de tests et un ou plusieurs tests dans la fenêtre Explorateur de tests, puis à sélectionner Exécuter les tests.
/category
/category:[test category filter]
Utilisez l'option /category pour spécifier la catégorie de test à exécuter.
Notes
Vous devez utiliser l'option /testcontainer pour pouvoir utiliser l'option /category.
Vous ne pouvez utiliser l'option /category qu'une seule fois par ligne de commande, mais vous pouvez spécifier plusieurs catégories de test avec le filtre de catégorie de test. Le filtre de catégorie de test se compose d'un ou plusieurs noms de catégorie de test séparés par les opérateurs logiques '&', '|', '!', '&!'. Les opérateurs logiques '&' and '|' ne peuvent pas être utilisés ensemble pour créer un filtre de catégorie de test.
Par exemple :
/category:group1 exécute les tests de la catégorie de test « group1 ».
/category:"group1&group2" exécute les tests des deux catégories de test « group1 » et « group2 ». Les tests n'étant que dans l'une des catégories spécifiées ne seront pas exécutés.
/category:"group1|group2" exécute les tests de la catégorie de test « group1 » ou « group2 ». Les tests étant dans les deux catégories de test seront également exécutés.
/category:"group1&!group2" exécute les tests de la catégorie de test « group1 » qui ne figurent pas dans la catégorie de test « group2 ». Un test qui est à la fois dans la catégorie de test « group1 » et « group2 » ne sera pas exécuté.
Notes
Si votre filtre se compose d'une catégorie unique telle que /category:group1, vous n'avez pas à mettre le filtre entre guillemets.Toutefois, si votre filtre référence plusieurs catégories telles que /category:"group1&group2", le filtre doit être mis entre guillemets.
/test
/test:[test name]
Utilisez l'option /test pour spécifier des tests à exécuter. Pour exécuter plusieurs tests, utilisez l'option /test plusieurs fois.
Notes
Vous pouvez utiliser l'option /test avec l'option /testcontainer ou avec l'option /testmetadata, mais pas avec les deux.
Vous pouvez utiliser l'option /testlist et l'option /test ensemble. Cela revient à sélectionner à la fois une liste de tests et un ou plusieurs tests dans la fenêtre Explorateur de tests, puis à sélectionner Exécuter les tests.
La chaîne que vous spécifiez avec l'option /test est utilisée pour correspondre aux noms de tests d'un conteneur de test ou d'un fichier de métadonnées de test. Cela signifie que vous pouvez spécifier plusieurs tests en utilisant une seule valeur pour /test. Par exemple, /test:ittest produirait des correspondances pour les tests nommés DebitTest et CreditTest car les deux noms de tests contiennent la sous-chaîne 'ittest'.
Notes
La valeur que vous spécifiez avec l'option /test est testée non seulement par rapport au nom du test, mais également par rapport au chemin d'accès de ce test, comme dans l'Explorateur de solutions, ou, dans le cas de tests unitaires, par rapport au nom qualifié complet.
Deux exemples d'utilisation suivent :
Exemple de test unitaire : le fichier UnitTest1.cs dans le projet TestProject2 contient un test unitaire nommé TestMethod1. La spécification d'une valeur 'ittest' pour l'option /test correspondrait également à ce test car la chaîne est testée par rapport au nom qualifié complet "TestProject2.UnitTest1.TestMethod1" et car la chaîne 'ittest' apparaît également dans 'UnitTest1'.
Exemple de test générique : la ligne de commande suivante exécute le test générique spécifié et affiche le chemin d'accès complet du test dans les résultats de tests.
mstest /testcontainer:"C:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects\TestProject2\TestProject2\generictest1.generic" /test:testproject32\generic
/noisolation
/noisolation
Utilisez cette option pour exécuter des tests dans le processus MSTest.exe. L'utilisation de cette option n'entraîne pas d'autres modifications de la configuration de série de tests. L'objet de cette option est d'améliorer la vitesse d'exécution des tests. Toutefois, elle augmente le risque au niveau de la série de tests dans son ensemble parce qu'une exception non gérée levée par le code de test entraînerait le blocage du processus MSTest.exe.
/testsettings
/testsettings:[file name]
Utilisez cette option pour spécifier un fichier de paramètres de test. Par exemple :/testsettings:local.Testsettings
Vous pouvez spécifier un fichier de paramètres de test de plusieurs façons, telles que l'option /testmetadata. Les règles qui régissent la spécification de fichiers de paramètres de test sont décrites ici.
Si vous utilisez l'option /testsettings, le fichier qu'il spécifie sera utilisé, que vous utilisiez également l'option /testmetadata ou non.
Si vous utilisez l'option /testmetadata pour pointer vers un fichier de métadonnées qui spécifie le fichier de paramètres de test actif, ce fichier de paramètres de test sera utilisé si vous n'utilisez pas l'option /testsettings.
Si vous n'utilisez pas l'option /testsettings et ne spécifiez pas de fichier de paramètres de test dans le fichier de métadonnées de test, la série de tests utilise le fichier paramètres de test par défaut.
Notes
Pour plus d'informations sur les fichiers de paramètres de test, consultez Créer des paramètres de test pour des tests du système automatisés à l'aide de Microsoft Test Manager.
/runconfig
/runconfig:[file name]
Remarque Cette option de ligne de commande est conservée pour compatibilité avec les versions antérieures de Visual Studio. Les configurations de série de tests ont été remplacées par les paramètres de test dans Visual Studio Premium.
Utilisez cette option pour spécifier un fichier de configuration de série de tests. Par exemple :/runconfig:localtestrun.Testrunconfig
Vous pouvez spécifier un fichier de configuration de série de tests d'autres manières, par exemple avec l'option /testmetadata. Les règles qui régissent la spécification des fichiers de configuration de série de tests sont décrites ici.
Si vous utilisez l'option /runconfig, le fichier qu'il spécifie sera utilisé, que vous utilisiez également l'option /testmetadata ou non.
Si vous utilisez l'option /testmetadata pour pointer vers un fichier de métadonnées qui spécifie le fichier de configuration de série de tests actif, ce fichier de configuration de série de tests sera utilisé si vous n'utilisez pas l'option /runconfig.
Si vous n'utilisez pas l'option /runconfig et que vous ne spécifiez pas non plus de fichier de configuration de série de tests dans le fichier de métadonnées de test, la série de tests utilise le fichier de configuration de série de tests par défaut.
/resultsfile
/resultsfile:[file name]
Utilisez cette option pour enregistrer les résultats de la série de tests dans le fichier nommé. Par exemple : /resultsfile:testResults.trx.
/usestderr
/usestderr
L'utilisation de cette option entraîne l'écriture des informations suivantes dans l'erreur standard :
Tests dont le résultat est un échec, un abandon, une erreur, une expiration du délai, une impossibilité d'exécution ou une non-exécution.
Erreurs de niveau d'exécution.
Erreurs lors de l'analyse des arguments de la ligne de commande.
Résumé d'exécution lorsque la série de tests a un résultat incorrect.
Sans cette option, toutes les sorties sont envoyées vers la sortie standard.
/detail
/detail:[property id]
Cette option permet d'afficher des propriétés de scénario de test supplémentaires, si elles existent. Vous pouvez passer plusieurs instances de l'option /detail, chacune avec un seul ID de propriété, sur une même ligne de commande. Voici une liste des id de propriété valides pour l'option /detail :
adapter |
id |
projectrelativepath |
computername |
isautomated |
readonly |
debugtrace |
link |
spoolmessage |
description |
longtext |
stderr |
displaytext |
name |
stdout |
duration |
outcometext |
storage |
errormessage |
owner |
testcategoryid |
errorstacktrace |
parentexecid |
testname |
executionid |
priority |
testtype |
groups |
projectname |
traceinfo |
Notes
Les ID de propriété que vous pouvez utiliser avec l'option /detail varient en fonction du type de test.Par conséquent, cette liste est uniquement une approximation.En particulier, si vous utilisez des types de tests personnalisés, la sélection des propriétés sera différente.Pour connaître les ID de propriété que vous pouvez utiliser, examinez le fichier de résultats des tests produit par la série de tests.Pour plus d'informations sur les fichiers de résultats de tests, consultez Comment : enregistrer et ouvrir les résultats de tests de charge et de performances web dans Visual Studio.
Si une propriété existe pour un scénario de test spécifié, ses informations sont incluses dans le résumé des résultats généré.
Par exemple, la ligne de commande :
mstest /testcontainer:Errors.dll /detail:testtype
produit la sortie suivante, qui contient des informations sur les types de tests :
...
Results Top Level Tests
-------- -----------------
Inconclusive TestProject2.BankAccountTest.CreditTest
[testtype] = Unit Test
...
Voir aussi
Concepts
Exécution de tests automatisés à partir de la ligne de commande