tarefa VSTest@2 – Teste do Visual Studio v2

Use essa tarefa para executar testes funcionais e de unidade (Selenium, Appium, teste de interface do usuário codificado etc.) usando o executor de Teste do Visual Studio (VSTest). Você pode executar estruturas de teste que têm um adaptador de teste do Visual Studio. As estruturas de exemplo são MSTest, xUnit, NUnit, Chutzpah (para testes javaScript usando QUnit, Mocha e Jasmine), etc. Os testes podem ser distribuídos em vários agentes usando essa tarefa.

Observação

VSTest@2 é a versão mais recente da tarefa e deve ser usada em seus pipelines.

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.

Entradas

testSelector - Selecionar testes usando
string. Obrigatórios. Valores permitidos: testAssemblies (Assemblies de teste), testPlan (Plano de teste) testRun (Execução de teste). Valor padrão: testAssemblies.

  • Assembly de teste: Especifica um ou mais assemblies de teste que contêm seus testes. Opcionalmente, você pode especificar um critério de filtro para selecionar apenas testes específicos.
  • Plano de teste: Executa testes do seu plano de teste que têm um método de teste automatizado associado a ele. Para saber mais sobre como associar testes a um item de trabalho de caso de teste, confira Associar testes automatizados a casos de teste.
  • Execução de teste: Use essa opção quando estiver configurando um ambiente para executar testes de planos de teste. Essa opção não deve ser usada ao executar testes em um pipeline de CI/CD (integração contínua/implantação contínua).

testAssemblyVer2 - Arquivos de teste
string. Obrigatório quando testSelector = testAssemblies. Valor padrão: **\bin\**\*test.dll\n**\bin\**\*tests.dll.

Executa testes dos arquivos especificados. Testes ordenados e webtests podem ser executados especificando os arquivos .orderedtest e .webtest, respectivamente. Para executar .webtest, o Visual Studio 2017 Update 4 ou superior é necessário. Os caminhos de arquivo são relativos à pasta de pesquisa. Essa entrada dá suporte a várias linhas de padrões de minimatch.

# Example
- task: VSTest@2
  inputs:
    testSelector: 'testAssemblies'
    testAssemblyVer2: |
      **\*test*.dll
      !**\*TestAdapter.dll
      !**\obj\**

testAssemblyVer2 - Arquivos de teste
string. Obrigatório quando testSelector = testAssemblies. Valor padrão: **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**.

Executa testes dos arquivos especificados. Testes ordenados e webtests podem ser executados especificando os arquivos .orderedtest e .webtest, respectivamente. Para executar .webtest, o Visual Studio 2017 Update 4 ou superior é necessário. Os caminhos de arquivo são relativos à pasta de pesquisa. Essa entrada dá suporte a várias linhas de padrões de minimatch.

# Example
- task: VSTest@2
  inputs:
    testSelector: 'testAssemblies'
    testAssemblyVer2: |
      **\*test*.dll
      !**\*TestAdapter.dll
      !**\obj\**

testPlan - Plano de teste
string. Obrigatório quando testSelector = testPlan.

Especifica um plano de teste que contém conjuntos de testes com casos de teste automatizados.


testSuite - Pacote de testes
string. Obrigatório quando testSelector = testPlan.

Especifica um ou mais conjuntos de testes que contêm casos de teste automatizados. Os itens de trabalho de caso de teste devem ser associados a um método de teste automatizado.


testConfiguration - Configuração de teste
string. Obrigatório quando testSelector = testPlan.

Especifica a configuração de teste.


tcmTestRun - Execução de teste
string. Opcional. Use quando testSelector = testRun. Valor padrão: $(test.RunId).

Especifica a seleção baseada em execução de teste usada ao disparar execuções de teste automatizadas de planos de teste. Essa opção não pode ser usada para executar testes no pipeline de CI/CD.


searchFolder - Pasta de pesquisa
string. Obrigatórios. Valor padrão: $(System.DefaultWorkingDirectory).

Especifica a pasta para pesquisar os assemblies de teste.


resultsFolder - Pasta resultados do teste
string. Valor padrão: $(Agent.TempDirectory)\TestResults.

Especifica a pasta para armazenar os resultados do teste. Ao usar o diretório padrão, ele é limpo no final de uma execução de pipeline. O diretório de resultados sempre será limpo no início da tarefa antes que vstest os testes sejam executados. O caminho da pasta relativa, se fornecido, será considerado relativo a $(Agent.TempDirectory).


testFiltercriteria - Critérios de filtro de teste
string. Opcional. Use quando testSelector = testAssemblies.

Especifica critérios adicionais para filtrar testes de assemblies de teste. Por exemplo: Priority=1|Name=MyTestMethod. Saiba mais sobre as opções de linha de comando.


runOnlyImpactedTests - Executar somente testes afetados
boolean. Opcional. Use quando testSelector = testAssemblies. Valor padrão: False.

Especifica e executa automaticamente os testes necessários para validar a alteração de código. Saiba mais sobre como usar a Análise de Impacto de Teste.


runAllTestsAfterXBuilds - Número de builds após os quais todos os testes devem ser executados
string. Opcional. Use quando testSelector = testAssemblies && runOnlyImpactedTests = true. Valor padrão: 50.

Especifica o número de builds a serem executados antes que todos os testes sejam executados automaticamente. A Análise de Impacto de Teste armazena o mapeamento entre os casos de teste e o código-fonte. É recomendável regenerar o mapeamento executando todos os testes regularmente.


uiTests - A combinação de testes contém testes de interface do usuário
boolean. Valor padrão: false.

Para executar testes de interface do usuário, verifique se o agente está definido para ser executado no modo interativo com o Autologon habilitado. A configuração de um agente para ser executado interativamente deve ser feita antes de enfileirar a compilação/versão. Marcar essa caixa não configura o agente no modo interativo automaticamente. Essa opção serve como um lembrete para configurar o agente adequadamente para evitar falhas. Os agentes do Windows hospedados nos pools do VS 2015 e 2017 podem ser usados para executar testes de interface do usuário.


vstestLocationMethod - Selecionar a plataforma de teste usando
string. Valores permitidos: version, location (local específico). Valor padrão: version.

Especifica qual plataforma de teste usar.


vsTestVersion - Versão da plataforma de teste
string. Opcional. Use quando vstestLocationMethod = version. Valores permitidos: latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015) toolsInstaller (Instalado pelo Instalador de Ferramentas). Valor padrão: latest.

Especifica a versão do Teste do Visual Studio a ser usada. Se mais recente for especificado, essa entrada escolherá a versão mais recente (na lista de valores permitidos) instalada. Para executar testes sem precisar do Visual Studio no agente, use a opção Instalado por ferramentas do instalador . Inclua a tarefa Instalador da Plataforma de Teste do Visual Studio para adquirir a plataforma de teste do NuGet.


vsTestVersion - Versão da plataforma de teste
string. Opcional. Use quando vstestLocationMethod = version. Valores permitidos: latest, 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015) toolsInstaller (Instalado pelo Instalador de Ferramentas). Valor padrão: latest.

Especifica a versão do Teste do Visual Studio a ser usada. Se mais recente for especificado, essa entrada escolherá a versão mais recente (na lista de valores permitidos) instalada. Para executar testes sem precisar do Visual Studio no agente, use a opção Instalado por ferramentas do instalador . Inclua a tarefa Instalador da Plataforma de Teste do Visual Studio para adquirir a plataforma de teste do NuGet.


vstestLocation - Caminho para vstest.console.exe
string. Opcional. Use quando vstestLocationMethod = location.

Especifica o caminho para VSTest.


runSettingsFile - Arquivo de configurações
string.

Especifica o caminho para um runsettings arquivo ou testsettings a ser usado com os testes. Para o Visual Studio 15.7 e superior, use runsettings para todos os tipos de teste. Saiba mais sobre como converter um .testsettings arquivo em um .runsettings arquivo.


overrideTestrunParameters - Substituir parâmetros de execução de teste
string.

Substitui os parâmetros definidos na TestRunParameters seção de um runsettings arquivo ou na Properties seção de um testsettings arquivo. Por exemplo: -key1 value1 -key2 value2. Nota: As propriedades especificadas em um testsettings arquivo podem ser acessadas por meio do usando o TestContext Visual Studio 2017 (atualização 4 ou superior).


pathtoCustomTestAdapters - Caminho para adaptadores de teste personalizados
string.

Especifica o caminho do diretório para adaptadores de teste personalizados. Os adaptadores que residem na mesma pasta que os assemblies de teste são descobertos automaticamente.


runInParallel - Executar testes em paralelo em computadores com vários núcleos
boolean. Valor padrão: False.

Se definido truecomo , os testes serão executados em paralelo e aproveitarão os núcleos disponíveis do computador. Isso substituirá o MaxCpuCount se especificado em seu runsettings arquivo. Saiba mais sobre como os testes são executados em paralelo.


runTestsInIsolation - Executar testes isoladamente
boolean. Valor padrão: False.

Executa os testes em um processo isolado. Isso provavelmente leva a menos erros no processo de teste de vstest.console.exe, mas os testes podem ser executados mais lentamente. Atualmente, essa opção não pode ser usada ao executar com a configuração de trabalho de vários agentes.


codeCoverageEnabled - Cobertura de código habilitada
boolean. Valor padrão: False.

Coleta informações de cobertura de código da execução de teste.


otherConsoleOptions - Outras opções de console
string.

Outras opções de console que podem ser passadas para vstest.console.exe.

Essas opções não têm suporte e serão ignoradas ao executar testes usando a configuração paralela de vários agentes de um trabalho de agente, ao executar testes usando o plano de teste ou a opção Testar execução ou quando uma opção de envio em lote personalizada é selecionada. Em vez disso, as opções podem ser especificadas usando um arquivo de configurações.


distributionBatchType - Testes em lote
string. Valores permitidos: basedOnTestCases (com base no número de testes e agentes), basedOnExecutionTime (com base no tempo de execução anterior dos testes) basedOnAssembly (com base em assemblies de teste). Valor padrão: basedOnTestCases.

Um lote é um grupo de testes. Um lote de testes executa seus testes ao mesmo tempo e os resultados são publicados para o lote. Se o trabalho no qual a tarefa é executada estiver definido para usar vários agentes, cada agente selecionará todos os lotes de testes disponíveis para serem executados paralelamente. Um lote pode ser executado:

com base no número de testes e agentes. Envio em lote simples com base no número de testes e agentes que participam da execução do teste.

com base no tempo de execução anterior dos testes. Esse envio em lote considera o tempo de execução anterior para criar lotes de testes em que cada lote tem tempo de execução aproximadamente igual.

com base em assemblies de teste. Os testes de um assembly são agrupados em lote.


batchingBasedOnAgentsOption - Opções de lote
string. Opcional. Use quando distributionBatchType = basedOnTestCases. Valores permitidos: autoBatchSize (Determine automaticamente o tamanho do lote) customBatchSize (especifique um tamanho de lote). Valor padrão: autoBatchSize.

Especifica o envio em lote simples com base no número de testes e agentes que participam da execução do teste. Quando o tamanho do lote é determinado automaticamente, cada lote contém (total number of tests / number of agents) testes. Se um tamanho de lote for especificado, cada lote conterá o número especificado de testes.


customBatchSizeValue - Número de testes por lote
string. Obrigatório quando distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Valor padrão: 10.

Especifica o tamanho do lote.


batchingBasedOnExecutionTimeOption - Opções de lote
string. Opcional. Use quando distributionBatchType = basedOnExecutionTime. Valores permitidos: autoBatchSize (Determine automaticamente o tempo de lote) customTimeBatchSize (especifique o tempo de execução por lote). Valor padrão: autoBatchSize.

Esse envio em lote considera tempos de execução anteriores para criar lotes de testes em que cada lote tem aproximadamente o mesmo tempo de execução. Testes de execução rápida serão agrupados em lote, enquanto testes de execução mais longa podem pertencer a um lote separado. Quando essa opção é usada com a configuração de trabalho de vários agentes, o tempo total de teste é reduzido para um mínimo.


customRunTimePerBatchValue - Tempo de execução (s) por lote
string. Obrigatório quando distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Valor padrão: 60.

Especifica o tempo de execução (em segundos) por lote.


dontDistribute - Replicar testes em vez de distribuir quando vários agentes são usados no trabalho
boolean. Valor padrão: False.

Escolher essa opção não distribuirá testes entre agentes quando a tarefa estiver em execução em um trabalho de vários agentes. Cada um dos testes selecionados será repetido em cada agente. Essa opção não é aplicável quando o trabalho do agente está configurado para ser executado sem paralelismo ou com a opção de várias configurações.


dontDistribute - Não distribua testes e replique quando vários agentes forem usados no trabalho
boolean. Valor padrão: False.

Escolher essa opção não distribuirá testes entre agentes quando a tarefa estiver em execução em um trabalho de vários agentes. Cada um dos testes selecionados será repetido em cada agente. Essa opção não é aplicável quando o trabalho do agente está configurado para ser executado sem paralelismo ou com a opção de várias configurações.


testRunTitle - Título da execução de teste
string.

Especifica um nome para a execução de teste.


platform - Plataforma de build
string.

Especifica a plataforma de build na qual os testes devem ser relatados. Se você definiu uma variável para a plataforma em sua tarefa de build, use-a com essa entrada.


configuration - Configuração de build
string.

Especifica a configuração de build na qual os testes devem ser relatados. Se você definiu uma variável para a configuração em sua tarefa de build, use-a com essa entrada.


publishRunAttachments - Carregar anexos de teste
boolean. Valor padrão: true.

Aceita ou não publicar anexos no nível de execução.


failOnMinTestsNotRun - Falha na tarefa se um número mínimo de testes não for executado.
boolean. Valor padrão: False.

Falha na tarefa se um número mínimo de testes não for executado. Isso pode ser útil se qualquer alteração nas entradas de tarefa ou nas dependências subjacentes do adaptador de teste levar a apenas um subconjunto dos testes desejados a serem encontrados.


minimumExpectedTests - Número mínimo de testes
string. Opcional. Use quando failOnMinTestsNotRun = true. Valor padrão: 1.

Especifica o número mínimo de testes a serem executados para que a tarefa tenha êxito. O total de testes executados é calculado como a soma dos testes aprovados, com falha e anulados.


diagnosticsEnabled - Coletar diagnóstico avançadas em caso de falhas catastróficas
boolean. Valor padrão: false.

Coleta dados de diagnóstico para solucionar falhas catastróficas, como uma falha de teste. Quando essa opção é verificada, um arquivo XML de sequência é gerado e anexado à execução de teste. O arquivo de sequência contém informações sobre a sequência na qual os testes foram executados, para que um teste potencial de culpado possa ser identificado.


diagnosticsEnabled - Coletar diagnóstico avançadas em caso de falhas catastróficas
boolean. Valor padrão: True.

Coleta dados de diagnóstico para solucionar falhas catastróficas, como uma falha de teste. Quando essa opção é verificada, um arquivo XML de sequência é gerado e anexado à execução de teste. O arquivo de sequência contém informações sobre a sequência na qual os testes foram executados, para que um teste potencial de culpado possa ser identificado.


collectDumpOn - Coletar despejo de processo e anexar ao relatório de execução de teste
string. Opcional. Use quando diagnosticsEnabled = true. Valores permitidos: onAbortOnly (somente na anulação), always, never. Valor padrão: onAbortOnly.

Coleta um mini despejo que pode ser usado para análise posterior.

  • onAbortOnly – um mini despejo será coletado somente quando a execução do teste for anulada.
  • Sempre – um mini despejo sempre será coletado, independentemente de a execução do teste ser concluída ou não.
  • Nunca – um mini despejo não será coletado, independentemente de a execução do teste ser concluída ou não.

rerunFailedTests - Executar novamente testes com falha
boolean. Valor padrão: False.

Executa novamente todos os testes com falha até que eles passem ou até que o número máximo de tentativas seja atingido.


rerunType - Não execute novamente se as falhas de teste excederem o limite especificado
string. Opcional. Use quando rerunFailedTests = true. Valores permitidos: basedOnTestFailurePercentage (% de falha), basedOnTestFailureCount (# de testes com falha). Valor padrão: basedOnTestFailurePercentage.

Evita executar novamente testes quando a taxa de falha ultrapassa o limite especificado. Isso é aplicável se problemas de ambiente levarem a falhas maciças. Você pode especificar o percentual de falhas ou o número de testes com falha como um limite.


rerunFailedThreshold - % de falha
string. Opcional. Use quando rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. Valor padrão: 30.

Evita executar novamente testes quando a porcentagem de casos de teste com falha ultrapassa o limite especificado. Isso é aplicável se problemas de ambiente levarem a falhas maciças.


rerunFailedTestCasesMaxLimit - Nº de testes com falha
string. Opcional. Use quando rerunFailedTests = true && rerunType = basedOnTestFailureCount. Valor padrão: 5.

Evita executar novamente testes quando o número de casos de teste com falha ultrapassa o limite especificado. Isso é aplicável se problemas de ambiente levarem a falhas maciças.


rerunMaxAttempts - Número máximo de tentativas
string. Opcional. Use quando rerunFailedTests = true. Valor padrão: 3.

Especifica o número máximo de vezes que um teste com falha deve ser repetido. Se um teste for aprovado antes que o número máximo de tentativas seja atingido, ele não será executado novamente.


Opções de controle da tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Comentários

Use essa tarefa para executar testes funcionais e de unidade (Selenium, Appium, teste de interface do usuário codificado e muito mais) usando o executor de Teste do Visual Studio. Juntamente com testes baseados em MSTest, estruturas de teste que têm um adaptador de teste do Visual Studio também podem ser executadas, como xUnit, NUnit ou Chutzpah.

Testa se a estrutura do .NET Core de destino pode ser executada, especificando o valor apropriado da estrutura de destino no arquivo .runsettings.

Os testes podem ser distribuídos em vários agentes usando a versão 2 desta tarefa. Para obter mais informações, confira Executar testes paralelamente usando a tarefa teste do Visual Studio.

Verificar pré-requisitos

Se você estiver usando um agente auto-hospedado do Windows, esse pré-requisito deverá ser instalado:

Demandas

O agente deve ter o seguinte recurso:

vstest

A demanda de vstest pode ser atendida de duas maneiras:

  1. O Visual Studio é instalado no computador do agente.
  2. Usando a tarefa Instalador da Plataforma de Teste do Visual Studio na definição do pipeline.

Como posso executar testes que usam o TestCase como fonte de dados?

Para executar testes automatizados que usam o TestCase como fonte de dados, o seguinte é necessário:

  1. Você deve ter o Visual Studio 2017.6 ou superior no computador do agente. A tarefa Instalador da Plataforma de Teste do Visual Studio não pode ser usada para executar testes que usam o TestCase como fonte de dados.
  2. Crie um PAT que esteja autorizado para o escopo “Itens de trabalho (completo)”.
  3. Adicione uma variável de build ou versão segura chamada Test.TestCaseAccessToken com o valor definido para o PAT criado na etapa anterior.

Estou com problemas ao executar testes XUnit e NUnit controlados por dados com algumas das opções de tarefa. Existem limitações conhecidas?

Os testes controlados por dados que usam as estruturas de teste xUnit e NUnit têm algumas limitações conhecidas e não podem ser usados com as seguintes opções de tarefa:

  1. Executar novamente os testes com falha.
  2. Distribuição de testes em vários agentes e opções de envio em lote.
  3. Análise do impacto de teste.

As limitações acima ocorrem devido à forma como os adaptadores dessas estruturas de teste descobrem e relatam testes controlados por dados.

A tarefa VSTest dá suporte à execução de testes direcionados a várias estruturas de destino por vez?

Sim, a partir da versão 17.3 VSTest dá suporte à execução de testes direcionados a várias estruturas de destino por vez. Antes disso, isso não era possível devido a uma limitação do lado da plataforma VSTest .

Se você quiser executar testes que pertencem a várias estruturas de destino, precisará instalar uma versão compatível do VSTest por meio do Instalador da Plataforma de Teste do Visual Studio e definir vsTestVersion para toolsInstaller usá-la.

Ao publicar o resultado do teste, obter este erro: Falha ao publicar os resultados do teste: Prioridade inválida especificada?

Esse erro ocorrerá se qualquer um dos métodos de teste tiver prioridade definida acima de 255, corrija a prioridade do método de teste no código e execute os testes novamente. Você pode examinar o arquivo trx gerado para ver todos os testes com prioridade maior que 255.

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Executa em Agent, DeploymentGroup
Demandas Os agentes auto-hospedados devem ter recursos que correspondam às seguintes demandas para executar trabalhos que usam essa tarefa: vstest
Funcionalidades Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.103.0 ou superior
Categoria da tarefa Teste