Options de ligne de commande MSTest.exe
Mise à jour : novembre 2007
MSTest.exe est la commande de ligne de commande qui est utilisée pour exécuter des tests. Cette commande a plusieurs options qui vous permettent de personnaliser votre série de tests. Vous pouvez utiliser une grande partie de ces options conjointement ; en fait, vous devez utiliser certaines options ensemble, comme décrit dans les sections suivantes. Vous pouvez spécifier ces options dans un ordre quelconque sur la ligne de commande MSTest.exe.
MSTest.ext n'interprète pas les options ni les valeurs que vous spécifiez pour elles d'une manière 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:[nom du fichier] |
Charger un fichier qui contient des tests. Par exemple : /testcontainer:tests.dll Pour plus d'informations, consultez /testcontainer. |
||
/testmetadata:[nom du fichier] |
Charger un fichier qui contient des métadonnées de tests. Pour plus d'informations, consultez /testmetadata. |
||
/testlist:[chemin de la liste de tests] |
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. |
||
/test:[nom du test] |
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. |
||
/runconfig:[nom du fichier] |
Utiliser le fichier de configuration de série de tests spécifié. Par exemple : /runconfig:localtestrun.Testrunconfig Pour plus d'informations, consultez /runconfig.
|
||
/resultsfile:[nom du fichier] |
Enregistrer les résultats de la série de tests dans le fichier spécifié. Par exemple : /resultsfile:testResults.trx Pour plus d'informations, consultez /resultsfile. |
||
/unique |
Exécuter le test uniquement si une correspondance unique est trouvée pour tout /test spécifié. Pour plus d'informations, consultez /unique. |
||
/detail:[identificateur de propriété] |
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. |
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:[nom du serveur] |
Publier des résultats dans le magasin opérationnel du serveur spécifié. |
/publishresultsfile:[nom du fichier] |
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:[id de génération] |
Publier des résultats de tests à l'aide de cet ID de génération. |
/teamproject:[nom du projet d'équipe] |
Spécifiez le nom du projet collaboratif auquel la génération appartient. |
/platform:[plateforme] |
Spécifier la plateforme de la génération contre laquelle les résultats des tests doivent être publiés. |
/flavor:[version] |
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 publier des résultats de tests ne sont pas incluses ici ; pour plus d'informations sur ces options, consultez Options de ligne de commande pour la publication des résultats de tests.
/testcontainer
/testcontainer:[nom du fichier]
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.
Remarque : |
---|
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 testée. Par exemple, si votre solution contient un projet nommé BankAccount et un projet de test correspondant nommé BankAccountTest, spécifiez /testcontainer:BankAccountTest.dll. |
Étant donné qu'un assembly de test contient les tests d'un projet de test, le nombre de conteneurs de tests pour une solution correspond au nombre de projets de test dans la solution.
Remarque : |
---|
É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:[nom du fichier]
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.
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.
Remarque : |
---|
É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. |
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 a l'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, 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.
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:[chemin de la liste de tests]
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.
Remarque : |
---|
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 à cliquer sur Exécuter les tests.
/test
/test:[nom du test]
Utilisez l'option /test pour spécifier des tests à exécuter. Pour exécuter plusieurs tests, utilisez l'option /test plusieurs fois.
Remarque : |
---|
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 à cliquer sur Exécuter les tests.
La chaîne que vous spécifiez avec l'option /test est utilisée pour correspondre aux noms des tests dans un conteneur de tests ou 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'.
Remarque : |
---|
La valeur que vous spécifiez avec l'option /test est testée non pas uniquement contre le nom du test, mais également contre le chemin d'accès à ce test, comme affiché dans l'Explorateur de solutions, ou (avec les tests unitaires) contre leur 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 contre le nom qualifié complet "TestProject2.UnitTest1.TestMethod1" et 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, dans les résultats des tests, affiche le chemin d'accès complet au test.
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.
/runconfig
/runconfig:[nom du fichier]
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'elle spécifie sera utilisé, que vous utilisez ou non également l'option /testmetadata.
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.
Remarque : |
---|
Lorsque vous exécutez des tests unitaires Smart Device, vous devez spécifier l'option /runconfig. |
/resultsfile
/resultsfile:[nom du fichier]
Utilisez cette option pour enregistrer les résultats de la série de tests dans le fichier nommé. Par exemple : /resultsfile:testResults.trx.
/unique
/unique
Utilisez l'option /unique avec l'option /test. L'option /unique fait en sorte que MSTest.exe exécute un seul test dont le nom correspond à la valeur fournie avec l'option /test.
Par exemple, le conteneur de tests MyTestProject contient des tests nommés MethodTest1 et MethodTest10.
La ligne de commande :
mstest /testcontainer:testproject2.dll /test:MethodTest1
exécute les deux tests, MethodTest1 et MethodTest10, car 'MethodTest1' est une sous-chaîne de 'MethodTest10.'
Mais la ligne de commande :
mstest /testcontainer:testproject2.dll /test:MethodTest1 /unique
exécute uniquement le test MethodTest1.
/detail
/detail:[identificateur de propriété]
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 |
Remarque : |
---|
La sélection réelle des ID de propriété que vous pouvez utiliser avec l'option /detail varie en fonction du type de test. Par conséquent, cette liste est uniquement une approximation. En particulier, si vous utilisez des types de tests autres que ceux inclus dans les Outils de test Team System, la sélection de 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 : exporter des résultats de tests. |
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...