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:[nom du fichier]

Charger un fichier qui contient des tests.

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.

/category:[filtre de catégorie de test]

Spécifiez et filtrez les catégories de test à exécuter. Pour plus d'informations, consultez /category.

/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.

/testsettings: [nom du fichier]

Utilisez le fichier de paramètres de test spécifié.

Exemple : /testsettings:Local.Testsettings

Pour plus d'informations, consultez /testsettings.

/runconfig:[nom du fichier]

Utiliser le fichier de configuration de série de tests spécifié.

Exemple : /runconfig:localtestrun.Testrunconfig

Pour plus d'informations, consultez /runconfig.

RemarqueRemarque
Cette option de ligne de commande est conservée pour compatibilité avec les versions antérieures de Microsoft Visual Studio 2010.Les configurations de série de tests ont été remplacées par les paramètres de test dans Visual Studio 2010 Ultimate.

/resultsfile:[nom du fichier]

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.

/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.

/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:[nom serveur]

Publiez les résultats vers la base de données pour la collection de projets d'équipe 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 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:[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.

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:[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.

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, 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:[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. 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 à cliquer sur Exécuter les tests.

/category

/category:[filtre de catégorie de test]

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 '&' et '|' 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:[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.

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 à cliquer sur 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:[nom du fichier]

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 les tests automatisés dans le cadre du plan de test.

/runconfig

/runconfig:[nom du fichier]

Remarque   Cette option de ligne de commande est conservée pour compatibilité avec les versions antérieures de Microsoft Visual Studio 2010. Les configurations de série de tests ont été remplacées par les paramètres de test dans Visual Studio 2010 Ultimate.

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:[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 indique à MSTest.exe d'exécuter un test uniquement s'il existe une correspondance unique à la valeur que vous fournissez dans 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

génère une erreur indiquant qu'il n'existe pas de correspondance unique pour ce nom du test. Vous pouvez identifier de manière unique le nom du test en utilisant l'ID du test répertorié dans la vue Propriétés du test.

/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:[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

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 des tests 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

Examen des résultats des tests

Exécution de tests automatisés à partir de la ligne de commande