VSTest@2 - Tâche test Visual Studio 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 de test Visual Studio (VSTest). Vous pouvez exécuter des frameworks de test qui ont un adaptateur de test Visual Studio. Les exemples d’infrastructures 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 (version 2).

Syntax

# Visual Studio Test v2
# Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).
- 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
# Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).
- 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.
# Visual Studio Test v2
# Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).
- 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).
    #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.
# Visual Studio Test v2
# Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).
- 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).
    #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: True # boolean. Collect advanced diagnostics in case of catastrophic failures. Default: True.
    #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. Do not distribute tests and replicate instead 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.

Entrées

testSelector - Sélectionner des tests à l’aide de
string. Obligatoire. Valeurs autorisées : testAssemblies (Assemblys de test), testPlan (Plan de test), testRun (Série de tests). 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 la façon d’associer des tests à un élément de travail de cas de test, consultez Associer des tests automatisés à des cas de test.
  • Série de tests : 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/déploiement continu (CI/CD).

testAssemblyVer2 - Fichiers de test
string. Nécessaire 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 triés et les tests web peuvent être exécutés en spécifiant les .orderedtest fichiers 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. Nécessaire 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 triés et les tests web peuvent être exécutés en spécifiant les .orderedtest fichiers 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. Nécessaire 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. Nécessaire lorsque testSelector = testPlan.

Spécifie une ou plusieurs suites de tests 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 - Configuration de test
string. Nécessaire lorsque testSelector = testPlan.

Spécifie la configuration de test.


tcmTestRun - Série de tests
string. facultatif. Utilisez quand testSelector = testRun. Valeur par défaut : $(test.RunId).

Spécifie la sélection basée sur la série de tests utilisée lors du déclenchement d’exécutions de tests automatisées à 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 Recherche
string. Obligatoire. Valeur par défaut : $(System.DefaultWorkingDirectory).

Spécifie le dossier dans lequel rechercher les assemblys de test.


resultsFolder - Dossier des 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 avant l’exécution vstest des tests. Le chemin du dossier relatif, s’il est fourni, sera considéré comme relatif à $(Agent.TempDirectory).


testFiltercriteria - Critères de filtre de test
string. facultatif. 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. Découvrez les options de ligne de commande.


runOnlyImpactedTests - Exécuter uniquement les tests impactés
boolean. facultatif. 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. En savoir plus sur l’utilisation de l’analyse d’impact des tests.


runAllTestsAfterXBuilds - Nombre de builds après lesquelles tous les tests doivent être exécutés
string. facultatif. Utilisez quand testSelector = testAssemblies && runOnlyImpactedTests = true. Valeur par défaut : 50.

Spécifie le nombre de builds à exécuter avant l’exécution automatique de tous les tests. L’analyse de l’impact des tests 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 régulièrement tous les tests.


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 qu’il s’exécute de manière interactive doit être effectuée avant de mettre en file d’attente la build/la version. Cette case ne configure pas automatiquement l’agent en mode interactif. Cette option sert de rappel à la configuration appropriée de l’agent 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 la 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. facultatif. 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 des outils). Valeur par défaut : latest.

Spécifie la version de Visual Studio Test à utiliser. Si la 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 du programme d’installation Installé par les outils . Veillez à inclure la tâche Programme d’installation de la plateforme de test Visual Studio pour acquérir la plateforme de test à partir de NuGet.


vsTestVersion - Version de la plateforme de test
string. facultatif. 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 des outils). Valeur par défaut : latest.

Spécifie la version de Visual Studio Test à utiliser. Si la 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 du programme d’installation Installé par les outils . Veillez à inclure la tâche Programme d’installation de la plateforme de test Visual Studio pour acquérir la plateforme de test à partir de NuGet.


vstestLocation - Chemin d’accès à vstest.console.exe
string. facultatif. Utilisez quand vstestLocationMethod = location.

Spécifie le chemin d’accès à VSTest.


runSettingsFile - Fichier de paramètres
string.

Spécifie le chemin d’accès à un runsettings fichier 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 .testsettings fichier en .runsettings fichier.


overrideTestrunParameters - Remplacer les paramètres de la série de tests
string.

Remplace les paramètres définis dans la TestRunParameters section d’un runsettings fichier ou dans la Properties section d’un testsettings fichier. Par exemple : -key1 value1 -key2 value2. Note: Les propriétés spécifiées dans un testsettings fichier sont accessibles à l’aide de TestContext 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 du répertoire des adaptateurs de test personnalisés. Les adaptateurs résidant dans le même dossier que les assemblys de test sont automatiquement détectés.


runInParallel - Exécuter des tests en parallèle sur des machines multicœurs
boolean. Valeur par défaut : False.

Si la valeur est définie truesur , les tests sont exécutés en parallèle et tirent parti des cœurs disponibles de l’ordinateur. Cela remplacera le MaxCpuCount si spécifié dans votre runsettings fichier. 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 la série de tests.


otherConsoleOptions - Autres options de console
string.

Autres options de console qui peuvent être transmises à vstest.console.exe.

Ces options ne sont pas prises en charge et sont ignorées lors de l’exécution de tests à l’aide du paramètre parallèle multi-agent d’un travail d’agent, lors de l’exécution de tests à l’aide de l’option Plan de test ou Exécution de test , ou lorsqu’une option de traitement par lots personnalisée est sélectionnée. Les options peuvent être spécifiées à l’aide d’un fichier de paramètres.


distributionBatchType - Tests par lots
string. Valeurs autorisées : basedOnTestCases (en fonction du nombre de tests et d’agents), basedOnExecutionTime (en fonction de l’heure d’exécution passée des tests), basedOnAssembly (en fonction 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 configuré 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 en fonction du nombre de tests et d’agents participant à la série de tests.

en fonction de l’heure d’exécution passée des tests. Ce traitement par lots prend en compte 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 groupés.


batchingBasedOnAgentsOption - Options de traitement par lots
string. facultatif. 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 automatiquement déterminée, chaque lot contient (total number of tests / number of agents) des tests. Si une taille de lot est spécifiée, chaque lot contiendra le nombre spécifié de tests.


customBatchSizeValue - Nombre de tests par lot
string. Nécessaire lorsque distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Valeur par défaut : 10.

Spécifie la taille du lot.


batchingBasedOnExecutionTimeOption - Options de traitement par lots
string. facultatif. Utilisez quand distributionBatchType = basedOnExecutionTime. Valeurs autorisées : autoBatchSize (Déterminer automatiquement l’heure du lot), customTimeBatchSize (Spécifier la durée d’exécution par lot). Valeur par défaut : autoBatchSize.

Ce traitement par lots prend en compte les heures d’exécution passées pour créer des lots de tests où chaque lot a une durée d’exécution approximativement égale. Les tests à exécution rapide seront groupés, 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 au minimum.


customRunTimePerBatchValue - Durée d’exécution (s) par lot
string. Nécessaire 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 les tests au lieu de les distribuer lorsque plusieurs agents sont utilisés dans le travail
boolean. Valeur par défaut : False.

Le choix de cette option ne distribuera 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 multi config.


dontDistribute - Ne distribuez pas de tests et ne répliquez pas à la place lorsque plusieurs agents sont utilisés dans le travail
boolean. Valeur par défaut : False.

Le choix de cette option ne distribuera 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 multi config.


testRunTitle - Titre de la série de tests
string.

Spécifie un nom pour la série de tests.


platform - Plateforme de génération
string.

Spécifie la plateforme de build 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 - Configuration de build
string.

Spécifie la configuration de build par rapport à 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.

Accepte ou refuse la publication des 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 être utile si des modifications apportées aux entrées de tâche ou aux dépendances d’adaptateur de test sous-jacentes conduisent uniquement à un sous-ensemble des tests souhaités à trouver.


minimumExpectedTests - Nombre minimal de tests
string. facultatif. 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, ayant échoué et abandonnés.


diagnosticsEnabled - Collecter des diagnostics avancés en cas de défaillances catastrophiques
boolean. Valeur par défaut : false.

Collecte des 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é à la série de tests. Le fichier de séquence contient des informations sur la séquence dans laquelle les tests ont été exécutés, de sorte qu’un test coupable potentiel peut être identifié.


diagnosticsEnabled - Collecter des diagnostics avancés en cas de défaillances catastrophiques
boolean. Valeur par défaut : True.

Collecte des 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é à la série de tests. Le fichier de séquence contient des informations sur la séquence dans laquelle les tests ont été exécutés, de sorte qu’un test coupable potentiel peut être identifié.


collectDumpOn - Collecter le vidage du processus et l’attacher au rapport de la série de tests
string. facultatif. Utilisez quand diagnosticsEnabled = true. Valeurs autorisées : onAbortOnly (Lors de l’abandon uniquement), always, . never Valeur par défaut : onAbortOnly.

Collecte un mini-vidage qui peut être utilisé pour une analyse plus approfondie.

  • onAbortOnly : une mini-vidage est collectée uniquement lorsque la série de tests est abandonnée.
  • Always : un mini dump est toujours collecté, que la série de tests se termine ou non.
  • Jamais : un mini dump n’est pas collecté, que la série de tests se termine ou non.

rerunFailedTests - Réexécuter les tests ayant échoué
boolean. Valeur par défaut : False.

Réexécuter tous 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. facultatif. Utilisez quand rerunFailedTests = true. Valeurs autorisées : basedOnTestFailurePercentage (% d’échec), basedOnTestFailureCount (nombre de tests ayant échoué). Valeur par défaut : basedOnTestFailurePercentage.

Évite la réexécution des tests lorsque le taux d’échec dépasse le seuil spécifié. Cela s’applique si les 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é comme seuil.


rerunFailedThreshold - % d’échec
string. facultatif. Utilisez quand rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. Valeur par défaut : 30.

Évite la réexécution des tests lorsque le pourcentage de cas d’échec dépasse le seuil spécifié. Cela s’applique si les problèmes d’environnement entraînent des défaillances massives.


rerunFailedTestCasesMaxLimit - Nombre de tests ayant échoué
string. facultatif. Utilisez quand rerunFailedTests = true && rerunType = basedOnTestFailureCount. Valeur par défaut : 5.

Évite la réexécution des tests lorsque le nombre de cas de test ayant échoué dépasse la limite spécifiée. Cela s’applique si les problèmes d’environnement entraînent des défaillances massives.


rerunMaxAttempts - Nombre maximal de tentatives
string. facultatif. Utilisez quand rerunFailedTests = true. Valeur par défaut : 3.

Spécifie le nombre maximal de fois qu’un test ayant échoué doit être retenté. Si un test réussit avant que le nombre maximal de tentatives ne 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.

Notes

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 de tests Visual Studio. Avec les tests 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 indiquant que l’infrastructure .NET Core cible peut être exécutée 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, ce prérequis doit être installé :

Demandes

L’agent doit disposer de la fonctionnalité suivante :

vstest

La demande vstest peut être satisfaite de deux manières :

  1. Visual Studio est installé sur l’ordinateur de l’agent.
  2. En utilisant la tâche Programme d’installation de la plateforme de test Visual Studio dans la définition du pipeline.

Comment 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 :

  1. Vous devez disposer de Visual Studio 2017.6 ou version ultérieure sur l’ordinateur agent. La tâche Programme d’installation de la plateforme de test Visual Studio ne peut pas être utilisée pour exécuter des tests qui utilisent TestCase comme source de données.
  2. Créez un PAT autorisé pour l’étendue « Éléments de travail (complet) ».
  3. Ajoutez une variable de build ou de mise en production sécurisée appelée Test.TestCaseAccessToken avec la valeur définie sur le PAT 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 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 :

  1. Réexécutez les tests ayant échoué.
  2. Distribution de tests sur plusieurs agents et options de traitement par lots.
  3. Analyse de l’impact des tests.

Les limitations ci-dessus sont dues à la façon dont les adaptateurs de ces frameworks de test découvrent et signalent les tests pilotés par les données.

La tâche VSTest prend-elle en charge l’exécution de tests qui ciblent plusieurs frameworks cibles à la fois ?

Oui, à partir de la version 17.3 VSTest prend en charge l’exécution de tests qui ciblent plusieurs frameworks cibles à la fois. Auparavant, cela n’était pas possible en raison d’une limitation du côté de la plateforme VSTest .

Si vous souhaitez exécuter des tests qui appartiennent à plusieurs frameworks cibles, vous devez installer une version compatible de VSTest via le programme d’installation de la plateforme de test Visual Studio et définir vsTestVersion pour toolsInstaller l’utiliser.

Lors de la publication du résultat du test, obtention de l’erreur : Échec de la publication des résultats du test : Priorité non valide spécifiée ?

Cette erreur se produit si l’une des méthodes de test a une priorité supérieure à 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 dont la priorité est supérieure à 255.

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes Les agents auto-hébergés doivent avoir des fonctionnalités qui correspondent aux exigences suivantes pour exécuter des travaux qui utilisent cette tâche : vstest
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 2.103.0 ou version ultérieure
Catégorie de la tâche Test