VSTest@2 - Tâche Visual Studio Test v2
Utilisez cette tâche pour exécuter des tests unitaires et fonctionnels (Selenium, Appium, test codé de l’interface utilisateur, etc.) à l’aide de l’exécuteur Visual Studio Test (VSTest). Vous pouvez exécuter des frameworks de test qui ont un adaptateur de test Visual Studio. Les exemples de frameworks sont MSTest, xUnit, NUnit, Chutzpah (pour les tests JavaScript à l’aide de QUnit, Mocha et Jasmine), etc. Les tests peuvent être distribués sur plusieurs agents à l’aide de cette tâche.
Remarque
VSTest@3 est la version la plus récente de la tâche et doit être utilisée dans vos pipelines.
Syntaxe
# Visual Studio Test v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: VSTest@2
inputs:
# Test selection
testSelector: 'testAssemblies' # 'testAssemblies' | 'testPlan' | 'testRun'. Required. Select tests using. Default: testAssemblies.
testAssemblyVer2: # string. Required when testSelector = testAssemblies. Test files.
#testPlan: # string. Required when testSelector = testPlan. Test plan.
#testSuite: # string. Required when testSelector = testPlan. Test suite.
#testConfiguration: # string. Required when testSelector = testPlan. Test configuration.
#tcmTestRun: '$(test.RunId)' # string. Optional. Use when testSelector = testRun. Test Run. Default: $(test.RunId).
searchFolder: '$(System.DefaultWorkingDirectory)' # string. Required. Search folder. Default: $(System.DefaultWorkingDirectory).
#resultsFolder: '$(Agent.TempDirectory)\TestResults' # string. Test results folder. Default: $(Agent.TempDirectory)\TestResults.
#testFiltercriteria: # string. Optional. Use when testSelector = testAssemblies. Test filter criteria.
#runOnlyImpactedTests: False # boolean. Optional. Use when testSelector = testAssemblies. Run only impacted tests. Default: False.
#runAllTestsAfterXBuilds: '50' # string. Optional. Use when testSelector = testAssemblies && runOnlyImpactedTests = true. Number of builds after which all tests should be run. Default: 50.
#uiTests: false # boolean. Test mix contains UI tests. Default: false.
# Execution options
#vstestLocationMethod: 'version' # 'version' | 'location'. Select test platform using. Default: version.
#vsTestVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | 'toolsInstaller'. Optional. Use when vstestLocationMethod = version. Test platform version. Default: latest.
#vstestLocation: # string. Optional. Use when vstestLocationMethod = location. Path to vstest.console.exe.
#runSettingsFile: # string. Settings file.
#overrideTestrunParameters: # string. Override test run parameters.
#pathtoCustomTestAdapters: # string. Path to custom test adapters.
#runInParallel: False # boolean. Run tests in parallel on multi-core machines. Default: False.
#runTestsInIsolation: False # boolean. Run tests in isolation. Default: False.
#codeCoverageEnabled: False # boolean. Code coverage enabled. Default: False.
#otherConsoleOptions: # string. Other console options.
#diagnosticsEnabled: false # boolean. Collect advanced diagnostics in case of catastrophic failures. Default: false.
#collectDumpOn: 'onAbortOnly' # 'onAbortOnly' | 'always' | 'never'. Optional. Use when diagnosticsEnabled = true. Collect process dump and attach to test run report. Default: onAbortOnly.
#rerunFailedTests: False # boolean. Rerun failed tests. Default: False.
#rerunType: 'basedOnTestFailurePercentage' # 'basedOnTestFailurePercentage' | 'basedOnTestFailureCount'. Optional. Use when rerunFailedTests = true. Do not rerun if test failures exceed specified threshold. Default: basedOnTestFailurePercentage.
#rerunFailedThreshold: '30' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. % failure. Default: 30.
#rerunFailedTestCasesMaxLimit: '5' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailureCount. # of failed tests. Default: 5.
#rerunMaxAttempts: '3' # string. Optional. Use when rerunFailedTests = true. Maximum # of attempts. Default: 3.
# Advanced execution options
#distributionBatchType: 'basedOnTestCases' # 'basedOnTestCases' | 'basedOnExecutionTime' | 'basedOnAssembly'. Batch tests. Default: basedOnTestCases.
#batchingBasedOnAgentsOption: 'autoBatchSize' # 'autoBatchSize' | 'customBatchSize'. Optional. Use when distributionBatchType = basedOnTestCases. Batch options. Default: autoBatchSize.
#customBatchSizeValue: '10' # string. Required when distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Number of tests per batch. Default: 10.
#batchingBasedOnExecutionTimeOption: 'autoBatchSize' # 'autoBatchSize' | 'customTimeBatchSize'. Optional. Use when distributionBatchType = basedOnExecutionTime. Batch options. Default: autoBatchSize.
#customRunTimePerBatchValue: '60' # string. Required when distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Running time (sec) per batch. Default: 60.
#dontDistribute: False # boolean. Replicate tests instead of distributing when multiple agents are used in the job. Default: False.
# Reporting options
#testRunTitle: # string. Test run title.
#platform: # string. Build platform.
#configuration: # string. Build configuration.
#publishRunAttachments: true # boolean. Upload test attachments. Default: true.
#failOnMinTestsNotRun: False # boolean. Fail the task if a minimum number of tests are not run. Default: False.
#minimumExpectedTests: '1' # string. Optional. Use when failOnMinTestsNotRun = true. Minimum # of tests. Default: 1.
# Visual Studio Test v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: VSTest@2
inputs:
# Test selection
testSelector: 'testAssemblies' # 'testAssemblies' | 'testPlan' | 'testRun'. Required. Select tests using. Default: testAssemblies.
testAssemblyVer2: # string. Required when testSelector = testAssemblies. Test files.
#testPlan: # string. Required when testSelector = testPlan. Test plan.
#testSuite: # string. Required when testSelector = testPlan. Test suite.
#testConfiguration: # string. Required when testSelector = testPlan. Test configuration.
#tcmTestRun: '$(test.RunId)' # string. Optional. Use when testSelector = testRun. Test Run. Default: $(test.RunId).
searchFolder: '$(System.DefaultWorkingDirectory)' # string. Required. Search folder. Default: $(System.DefaultWorkingDirectory).
#resultsFolder: '$(Agent.TempDirectory)\TestResults' # string. Test results folder. Default: $(Agent.TempDirectory)\TestResults.
#testFiltercriteria: # string. Optional. Use when testSelector = testAssemblies. Test filter criteria.
#runOnlyImpactedTests: False # boolean. Optional. Use when testSelector = testAssemblies. Run only impacted tests. Default: False.
#runAllTestsAfterXBuilds: '50' # string. Optional. Use when testSelector = testAssemblies && runOnlyImpactedTests = true. Number of builds after which all tests should be run. Default: 50.
#uiTests: false # boolean. Test mix contains UI tests. Default: false.
# Execution options
#vstestLocationMethod: 'version' # 'version' | 'location'. Select test platform using. Default: version.
#vsTestVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | 'toolsInstaller'. Optional. Use when vstestLocationMethod = version. Test platform version. Default: latest.
#vstestLocation: # string. Optional. Use when vstestLocationMethod = location. Path to vstest.console.exe.
#runSettingsFile: # string. Settings file.
#overrideTestrunParameters: # string. Override test run parameters.
#pathtoCustomTestAdapters: # string. Path to custom test adapters.
#runInParallel: False # boolean. Run tests in parallel on multi-core machines. Default: False.
#runTestsInIsolation: False # boolean. Run tests in isolation. Default: False.
#codeCoverageEnabled: False # boolean. Code coverage enabled. Default: False.
#otherConsoleOptions: # string. Other console options.
#diagnosticsEnabled: false # boolean. Collect advanced diagnostics in case of catastrophic failures. Default: false.
#collectDumpOn: 'onAbortOnly' # 'onAbortOnly' | 'always' | 'never'. Optional. Use when diagnosticsEnabled = true. Collect process dump and attach to test run report. Default: onAbortOnly.
#rerunFailedTests: False # boolean. Rerun failed tests. Default: False.
#rerunType: 'basedOnTestFailurePercentage' # 'basedOnTestFailurePercentage' | 'basedOnTestFailureCount'. Optional. Use when rerunFailedTests = true. Do not rerun if test failures exceed specified threshold. Default: basedOnTestFailurePercentage.
#rerunFailedThreshold: '30' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. % failure. Default: 30.
#rerunFailedTestCasesMaxLimit: '5' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailureCount. # of failed tests. Default: 5.
#rerunMaxAttempts: '3' # string. Optional. Use when rerunFailedTests = true. Maximum # of attempts. Default: 3.
# Advanced execution options
#distributionBatchType: 'basedOnTestCases' # 'basedOnTestCases' | 'basedOnExecutionTime' | 'basedOnAssembly'. Batch tests. Default: basedOnTestCases.
#batchingBasedOnAgentsOption: 'autoBatchSize' # 'autoBatchSize' | 'customBatchSize'. Optional. Use when distributionBatchType = basedOnTestCases. Batch options. Default: autoBatchSize.
#customBatchSizeValue: '10' # string. Required when distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Number of tests per batch. Default: 10.
#batchingBasedOnExecutionTimeOption: 'autoBatchSize' # 'autoBatchSize' | 'customTimeBatchSize'. Optional. Use when distributionBatchType = basedOnExecutionTime. Batch options. Default: autoBatchSize.
#customRunTimePerBatchValue: '60' # string. Required when distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Running time (sec) per batch. Default: 60.
#dontDistribute: False # boolean. Replicate tests instead of distributing when multiple agents are used in the job. Default: False.
# Reporting options
#testRunTitle: # string. Test run title.
#platform: # string. Build platform.
#configuration: # string. Build configuration.
#publishRunAttachments: true # boolean. Upload test attachments. Default: true.
#failOnMinTestsNotRun: False # boolean. Fail the task if a minimum number of tests are not run. Default: False.
#minimumExpectedTests: '1' # string. Optional. Use when failOnMinTestsNotRun = true. Minimum # of tests. Default: 1.
Entrées
testSelector
-
Sélectionner des tests à l’aide de
string
. Obligatoire. Valeurs autorisées : testAssemblies
(assemblys de test), testPlan
(plan de test), testRun
(exécution de test). Valeur par défaut : testAssemblies
.
- 'assembly de test : spécifie un ou plusieurs assemblys de test qui contiennent vos tests. Vous pouvez éventuellement spécifier un critère de filtre pour sélectionner uniquement des tests spécifiques.
- plan de test : exécute des tests à partir de votre plan de test qui ont une méthode de test automatisée associée. Pour en savoir plus sur l’association de tests à un élément de travail de cas de test, consultez Associer des tests automatisés à des cas de test.
- Exécution de test : Utilisez cette option lorsque vous configurez un environnement pour exécuter des tests à partir de plans de test. Cette option ne doit pas être utilisée lors de l’exécution de tests dans un pipeline d’intégration/de déploiement continu (CI/CD).
testAssemblyVer2
-
fichiers de test
string
. Obligatoire lorsque testSelector = testAssemblies
. Valeur par défaut : **\bin\**\*test.dll\n**\bin\**\*tests.dll
.
Exécute des tests à partir des fichiers spécifiés. Les tests ordonnés et les tests web peuvent être exécutés en spécifiant les fichiers .orderedtest
et .webtest
respectivement. Pour exécuter .webtest
, Visual Studio 2017 Update 4 ou version ultérieure est nécessaire. Les chemins d’accès aux fichiers sont relatifs au dossier de recherche. Cette entrée prend en charge plusieurs lignes de modèles de mini-correspondance .
# Example
- task: VSTest@2
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**
testAssemblyVer2
-
fichiers de test
string
. Obligatoire lorsque testSelector = testAssemblies
. Valeur par défaut : **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**
.
Exécute des tests à partir des fichiers spécifiés. Les tests ordonnés et les tests web peuvent être exécutés en spécifiant les fichiers .orderedtest
et .webtest
respectivement. Pour exécuter .webtest
, Visual Studio 2017 Update 4 ou version ultérieure est nécessaire. Les chemins d’accès aux fichiers sont relatifs au dossier de recherche. Cette entrée prend en charge plusieurs lignes de modèles de mini-correspondance .
# Example
- task: VSTest@2
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**
testPlan
-
plan de test
string
. Obligatoire lorsque testSelector = testPlan
.
Spécifie un plan de test contenant des suites de test avec des cas de test automatisés.
testSuite
-
suite de tests
string
. Obligatoire lorsque testSelector = testPlan
.
Spécifie une ou plusieurs suites de test contenant des cas de test automatisés. Les éléments de travail de cas de test doivent être associés à une méthode de test automatisée.
testConfiguration
-
de configuration de test
string
. Obligatoire lorsque testSelector = testPlan
.
Spécifie la configuration de test.
tcmTestRun
-
d’exécution de test
string
. Optionnel. Utilisez quand testSelector = testRun
. Valeur par défaut : $(test.RunId)
.
Spécifie la sélection basée sur l’exécution de test utilisée lors du déclenchement d’exécutions de tests automatisés à partir de plans de test. Cette option ne peut pas être utilisée pour exécuter des tests dans le pipeline CI/CD.
searchFolder
-
dossier De recherche
string
. Obligatoire. Valeur par défaut : $(System.DefaultWorkingDirectory)
.
Spécifie le dossier à rechercher pour les assemblys de test.
resultsFolder
-
dossier résultats des tests
string
. Valeur par défaut : $(Agent.TempDirectory)\TestResults
.
Spécifie le dossier pour stocker les résultats des tests. Lorsque vous utilisez le répertoire par défaut, il est nettoyé à la fin d’une exécution de pipeline. Le répertoire des résultats est toujours nettoyé au début de la tâche vstest
avant l’exécution des tests. Le chemin d’accès au dossier relatif, s’il est fourni, est considéré par rapport à $(Agent.TempDirectory)
.
testFiltercriteria
-
critères de filtre de test
string
. Optionnel. Utilisez quand testSelector = testAssemblies
.
Spécifie des critères supplémentaires pour filtrer les tests à partir d’assemblys de test. Par exemple : Priority=1|Name=MyTestMethod
. En savoir plus sur les options de ligne de commande .
runOnlyImpactedTests
-
Exécuter uniquement les tests impactés
boolean
. Optionnel. Utilisez quand testSelector = testAssemblies
. Valeur par défaut : False
.
Spécifie et exécute automatiquement les tests nécessaires pour valider la modification du code. Découvrez comment utiliser analyse d’impact de test.
runAllTestsAfterXBuilds
-
Nombre de builds après lesquelles tous les tests doivent être exécutés
string
. Optionnel. Utilisez quand testSelector = testAssemblies && runOnlyImpactedTests = true
. Valeur par défaut : 50
.
Spécifie le nombre de builds à exécuter avant que tous les tests ne soient exécutés automatiquement. Test Impact Analysis stocke le mappage entre les cas de test et le code source. Il est recommandé de régénérer le mappage en exécutant tous les tests régulièrement.
uiTests
-
combinaison de tests contient des tests d’interface utilisateur
boolean
. Valeur par défaut : false
.
Pour exécuter des tests d’interface utilisateur, vérifiez que l’agent est configuré pour s’exécuter en mode interactif avec journal automatique activé. La configuration d’un agent pour s’exécuter de manière interactive doit être effectuée avant de mettre en file d’attente la build/mise en production. La case à cocher ne configure pas automatiquement l’agent en mode interactif. Cette option sert de rappel pour configurer l’agent de manière appropriée pour éviter les défaillances. Les agents Windows hébergés à partir des pools VS 2015 et 2017 peuvent être utilisés pour exécuter des tests d’interface utilisateur.
vstestLocationMethod
-
Sélectionner une plateforme de test à l’aide de
string
. Valeurs autorisées : version
, location
(emplacement spécifique). Valeur par défaut : version
.
Spécifie la plateforme de test à utiliser.
vsTestVersion
-
version de la plateforme de test
string
. Optionnel. Utilisez quand vstestLocationMethod = version
. Valeurs autorisées : latest
, 17.0
(Visual Studio 2022), 16.0
(Visual Studio 2019), 15.0
(Visual Studio 2017), 14.0
(Visual Studio 2015), toolsInstaller
(installé par le programme d’installation d’outils). Valeur par défaut : latest
.
Spécifie la version de Visual Studio Test à utiliser. Si dernière est spécifiée, cette entrée choisit la dernière version (dans la liste des valeurs autorisées) installée. Pour exécuter des tests sans avoir besoin de Visual Studio sur l’agent, utilisez l’option installée par le programme d’installation des outils. Veillez à inclure la tâche Visual Studio Test Platform Installer pour acquérir la plateforme de test à partir de NuGet.
vsTestVersion
-
version de la plateforme de test
string
. Optionnel. Utilisez quand vstestLocationMethod = version
. Valeurs autorisées : latest
, 16.0
(Visual Studio 2019), 15.0
(Visual Studio 2017), 14.0
(Visual Studio 2015), toolsInstaller
(installé par le programme d’installation d’outils). Valeur par défaut : latest
.
Spécifie la version de Visual Studio Test à utiliser. Si dernière est spécifiée, cette entrée choisit la dernière version (dans la liste des valeurs autorisées) installée. Pour exécuter des tests sans avoir besoin de Visual Studio sur l’agent, utilisez l’option installée par le programme d’installation des outils. Veillez à inclure la tâche Visual Studio Test Platform Installer pour acquérir la plateforme de test à partir de NuGet.
chemin d’accès vstestLocation
- à vstest.console.exe
string
. Optionnel. Utilisez quand vstestLocationMethod = location
.
Spécifie le chemin d’accès à VSTest.
fichier paramètres runSettingsFile
-
string
.
Spécifie le chemin d’accès à un fichier runsettings
ou testsettings
à utiliser avec les tests. Pour Visual Studio 15.7 et versions ultérieures, utilisez runsettings
pour tous les types de test. En savoir plus sur la conversion d’un fichier .testsettings
en .runsettings
fichier.
overrideTestrunParameters
-
Remplacer les paramètres d’exécution de test
string
.
Remplace les paramètres définis dans la section TestRunParameters
d’un fichier runsettings
ou de la section Properties
d’un fichier testsettings
. Par exemple : -key1 value1 -key2 value2
.
Remarque : propriétés spécifiées dans un fichier testsettings
est accessible via le TestContext
à l’aide de Visual Studio 2017 (mise à jour 4 ou ultérieure).
pathtoCustomTestAdapters
-
Chemin d’accès aux adaptateurs de test personnalisés
string
.
Spécifie le chemin d’accès du répertoire aux adaptateurs de test personnalisés. Les adaptateurs résidant dans le même dossier que les assemblys de test sont détectés automatiquement.
runInParallel
-
exécuter des tests en parallèle sur des machines multicœurs
boolean
. Valeur par défaut : False
.
Si la valeur est true
, les tests sont exécutés en parallèle et tirent parti des cœurs disponibles de l’ordinateur. Cela remplace la MaxCpuCount
si elle est spécifiée dans votre fichier runsettings
. En savoir plus sur la façon dont les tests sont exécutés en parallèle.
runTestsInIsolation
-
Exécuter des tests en isolation
boolean
. Valeur par défaut : False
.
Exécute les tests dans un processus isolé. Cela entraîne probablement moins d’erreurs dans le processus de test vstest.console.exe, mais les tests peuvent s’exécuter plus lentement. Cette option ne peut actuellement pas être utilisée lors de l’exécution avec le paramètre de travail multi-agent.
codeCoverageEnabled
-
couverture du code activée
boolean
. Valeur par défaut : False
.
Collecte les informations de couverture du code à partir de l’exécution de test.
otherConsoleOptions
-
autres options de console
string
.
Autres options de console qui peuvent être passées à vstest.console.exe.
Ces options ne sont pas prises en charge et sont ignorées lors de l’exécution de tests à l’aide de l'paramètre de parallèle multi-agent d’un travail d’agent, lors de l’exécution de tests à l’aide du plan de test ou 'option d’exécution de test, ou lorsqu’une option de traitement par lot personnalisée est sélectionnée. Les options peuvent être spécifiées à l’aide d’un fichier de paramètres à la place.
distributionBatchType
-
tests Batch
string
. Valeurs autorisées : basedOnTestCases
(en fonction du nombre de tests et d’agents), basedOnExecutionTime
(en fonction du temps d’exécution passé des tests), basedOnAssembly
(basé sur des assemblys de test). Valeur par défaut : basedOnTestCases
.
Un lot est un groupe de tests. Un lot de tests exécute ses tests en même temps et les résultats sont publiés pour le lot. Si le travail dans lequel la tâche s’exécute est défini pour utiliser plusieurs agents, chaque agent récupère tous les lots de tests disponibles à exécuter en parallèle. Un lot peut être exécuté :
en fonction du nombre de tests et d’agents. Traitement par lots simple basé sur le nombre de tests et d’agents participant à l’exécution de test.
en fonction de l’heure d’exécution passée des tests. Ce traitement par lots considère le temps d’exécution passé pour créer des lots de tests où chaque lot a une durée d’exécution approximativement égale.
basé sur des assemblys de test. Les tests d’un assembly sont regroupés par lots.
batchingBasedOnAgentsOption
-
options Batch
string
. Optionnel. Utilisez quand distributionBatchType = basedOnTestCases
. Valeurs autorisées : autoBatchSize
(déterminer automatiquement la taille du lot), customBatchSize
(Spécifier une taille de lot). Valeur par défaut : autoBatchSize
.
Spécifie un traitement par lots simple en fonction du nombre de tests et d’agents participant à la série de tests. Lorsque la taille du lot est déterminée automatiquement, chaque lot contient (total number of tests / number of agents)
tests. Si une taille de lot est spécifiée, chaque lot contient le nombre de tests spécifié.
customBatchSizeValue
-
nombre de tests par lot
string
. Obligatoire lorsque distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize
. Valeur par défaut : 10
.
Spécifie la taille du lot.
batchingBasedOnExecutionTimeOption
-
options Batch
string
. Optionnel. Utilisez quand distributionBatchType = basedOnExecutionTime
. Valeurs autorisées : autoBatchSize
(déterminez automatiquement l’heure du lot), customTimeBatchSize
(Spécifier l’heure d’exécution par lot). Valeur par défaut : autoBatchSize
.
Ce traitement par lots prend en compte les temps d’exécution passés pour créer des lots de tests où chaque lot a environ une durée d’exécution égale. Les tests en cours d’exécution rapide sont regroupés ensemble, tandis que les tests plus longs peuvent appartenir à un lot distinct. Lorsque cette option est utilisée avec le paramètre de travail multi-agent, le temps total de test est réduit à un minimum.
customRunTimePerBatchValue
-
temps d’exécution (s) par lot
string
. Obligatoire lorsque distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize
. Valeur par défaut : 60
.
Spécifie la durée d’exécution (en secondes) par lot.
dontDistribute
-
Répliquer des tests au lieu de distribuer lorsque plusieurs agents sont utilisés dans le travail
boolean
. Valeur par défaut : False
.
Le choix de cette option ne répartit pas les tests entre les agents lorsque la tâche s’exécute dans un travail multi-agent. Chacun des tests sélectionnés sera répété sur chaque agent. Cette option n’est pas applicable lorsque le travail de l’agent est configuré pour s’exécuter sans parallélisme ou avec l’option multiconfiguration.
testRunTitle
-
titre d’exécution de test
string
.
Spécifie un nom pour l’exécution de test.
platform
-
Créer une plateforme
string
.
Spécifie la plateforme de génération sur laquelle les tests doivent être signalés. Si vous avez défini une variable pour la plateforme dans votre tâche de génération, utilisez-la avec cette entrée.
configuration
-
de configuration de build
string
.
Spécifie la configuration de build sur laquelle les tests doivent être signalés. Si vous avez défini une variable pour la configuration dans votre tâche de génération, utilisez-la avec cette entrée.
publishRunAttachments
-
Charger des pièces jointes de test
boolean
. Valeur par défaut : true
.
Opte ou ne publie pas les pièces jointes au niveau de l’exécution.
failOnMinTestsNotRun
-
Échec de la tâche si un nombre minimal de tests n’est pas exécuté.
boolean
. Valeur par défaut : False
.
Échec de la tâche si un nombre minimal de tests n’est pas exécuté. Cela peut s’avérer utile si des modifications apportées aux entrées de tâche ou aux dépendances d’adaptateur de test sous-jacentes entraînent la découverte d’un sous-ensemble des tests souhaités.
minimumExpectedTests
-
nombre minimal de tests
string
. Optionnel. Utilisez quand failOnMinTestsNotRun = true
. Valeur par défaut : 1
.
Spécifie le nombre minimal de tests à exécuter pour que la tâche réussisse. Le nombre total de tests exécutés est calculé comme la somme des tests réussis, échoués et abandonnés.
diagnosticsEnabled
-
Collecter des diagnostics avancés en cas de défaillances catastrophiques
boolean
. Valeur par défaut : false
.
Collecte les données de diagnostic pour résoudre les défaillances catastrophiques, telles qu’un incident de test. Lorsque cette option est cochée, un fichier XML de séquence est généré et attaché à l’exécution de test. Le fichier séquence contient des informations sur la séquence dans laquelle les tests ont été exécutés, afin qu’un test coupable potentiel puisse être identifié.
collectDumpOn
-
Collecter le vidage du processus et attacher au rapport d’exécution de test
string
. Optionnel. Utilisez quand diagnosticsEnabled = true
. Valeurs autorisées : onAbortOnly
(sur abandon uniquement), always
, never
. Valeur par défaut : onAbortOnly
.
Collecte un mini-vidage qui peut être utilisé pour une analyse plus approfondie.
- onAbortOnly : un mini-vidage ne sera collecté que lorsque l’exécution du test est abandonnée.
- Always : un mini-vidage sera toujours collecté, que l’exécution du test se termine ou non.
- Jamais - un mini-vidage ne sera pas collecté, que l’exécution du test se termine ou non.
rerunFailedTests
-
réexécuter les tests ayant échoué
boolean
. Valeur par défaut : False
.
Réexécuter les tests ayant échoué jusqu’à ce qu’ils réussissent ou jusqu’à ce que le nombre maximal de tentatives soit atteint.
rerunType
-
Ne pas réexécuter si les échecs de test dépassent le seuil spécifié
string
. Optionnel. Utilisez quand rerunFailedTests = true
. Valeurs autorisées : basedOnTestFailurePercentage
(échec%), basedOnTestFailureCount
(# de tests ayant échoué). Valeur par défaut : basedOnTestFailurePercentage
.
Évite de réexécuter les tests lorsque le taux d’échec dépasse le seuil spécifié. Cela s’applique si des problèmes d’environnement entraînent des défaillances massives. Vous pouvez spécifier le pourcentage d’échecs ou le nombre de tests ayant échoué en tant que seuil.
rerunFailedThreshold
-
% échec
string
. Optionnel. Utilisez quand rerunFailedTests = true && rerunType = basedOnTestFailurePercentage
. Valeur par défaut : 30
.
Évite de réexécuter les tests lorsque le pourcentage de cas de test ayant échoué dépasse le seuil spécifié. Cela s’applique si des problèmes d’environnement entraînent des défaillances massives.
rerunFailedTestCasesMaxLimit
-
nombre de tests ayant échoué
string
. Optionnel. Utilisez quand rerunFailedTests = true && rerunType = basedOnTestFailureCount
. Valeur par défaut : 5
.
Évite de réexécuter les tests lorsque le nombre de cas de test ayant échoué dépasse la limite spécifiée. Cela s’applique si des problèmes d’environnement entraînent des défaillances massives.
rerunMaxAttempts
-
nombre maximal de tentatives
string
. Optionnel. Utilisez quand rerunFailedTests = true
. Valeur par défaut : 3
.
Spécifie le nombre maximal de fois où un test ayant échoué doit être retenté. Si un test réussit avant que le nombre maximal de tentatives soit atteint, il ne sera pas réexécuté.
Options de contrôle de la tâche
Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.
Variables de sortie
Aucun.
Remarques
Utilisez cette tâche pour exécuter des tests unitaires et fonctionnels (Selenium, Appium, test codé de l’interface utilisateur, etc.) à l’aide de Visual Studio Test Runner. Outre les tests basés sur MSTest, les frameworks de test qui ont un adaptateur de test Visual Studio peuvent également être exécutés, tels que xUnit, NUnit ou Chutzpah.
Tests que le framework .NET Core cible peut être exécuté en spécifiant la valeur de l’infrastructure cible appropriée dans le fichier .runsettings.
Les tests peuvent être distribués sur plusieurs agents à l’aide de la version 2 de cette tâche. Pour plus d’informations, consultez Exécuter des tests en parallèle à l’aide de la tâche de test Visual Studio.
Vérifier les conditions préalables
Si vous utilisez un agent auto-hébergé Windows, cette configuration requise doit être installée :
- .NET Framework 4.6.2 ou une version ultérieure
Demandes
L’agent doit avoir la fonctionnalité suivante :
vstest
La demande vstest peut être satisfaite de deux façons :
- Visual Studio est installé sur l’ordinateur de l’agent.
- À l’aide de la tâche Visual Studio Test Platform Installer dans la définition du pipeline.
Comment puis-je exécuter des tests qui utilisent TestCase comme source de données ?
Pour exécuter des tests automatisés qui utilisent TestCase comme source de données, les éléments suivants sont nécessaires :
- Vous devez disposer de Visual Studio 2017.6 ou version ultérieure sur l’ordinateur de l’agent. Impossible d’utiliser la tâche Visual Studio Test Platform Installer pour exécuter des tests qui utilisent TestCase comme source de données.
- Créez un PAT autorisé pour l’étendue « Éléments de travail (complet) ».
- Ajoutez une variable de build ou de mise en production sécurisée appelée
Test.TestCaseAccessToken
avec la valeur définie sur le mot de passe créé à l’étape précédente.
Je rencontre des problèmes lors de l’exécution de tests xUnit et NUnit pilotés par les données avec certaines des options de tâche. Existe-t-il des limitations connues ?
Les tests pilotés par les données qui utilisent des frameworks de test xUnit et NUnit présentent certaines limitations connues et ne peuvent pas être utilisés avec les options de tâche suivantes :
- Réexécutez les tests ayant échoué.
- Distribution de tests sur plusieurs agents et options de traitement par lots.
- Testez l’analyse d’impact.
Les limitations ci-dessus sont dues à la façon dont les adaptateurs de ces frameworks de test découvrent et signalent des tests pilotés par les données.
La tâche VSTest prend-elle en charge l’exécution de tests ciblant plusieurs frameworks cibles à la fois ?
Oui, à partir de la version 17.3
VSTest prend en charge l’exécution de tests ciblant plusieurs frameworks cibles à la fois.
Avant cela, cela n’était pas possible en raison d’une limitation de la plateforme VSTest côté.
Si vous souhaitez exécuter des tests appartenant à plusieurs frameworks cibles, vous devez installer une version compatible de VSTest via Visual Studio Test Platform Installer et définir vsTestVersion
sur toolsInstaller
l’utiliser.
Lors de la publication du résultat du test, l’obtention de cette erreur : Échec de la publication des résultats des tests : Priorité non valide spécifiée ?
Cette erreur se produit si l’une des méthodes de test a la priorité définie au-dessus de 255, corrigez la priorité de la méthode de test dans le code et réexécutez les tests. Vous pouvez consulter le fichier trx généré pour voir tous les tests ayant la priorité supérieure à 255.
Spécifications
Besoin | Description |
---|---|
Types de pipelines | YAML, Build Classique, Version Classique |
Exécutions sur | Agent, DeploymentGroup |
demandes | Les agents auto-hébergés doivent disposer de fonctionnalités qui correspondent aux exigences de suivantes pour exécuter des travaux qui utilisent cette tâche : vstest |
fonctionnalités de | Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail. |
restrictions de commande | N'importe quel |
variables settables | N'importe quel |
Version de l’agent | 2.103.0 ou version ultérieure |
Catégorie de tâche | Essai |