Partilhar via


VSTest@2 - Tarefa Visual Studio Test v2

Use esta tarefa para executar testes funcionais e de unidade (Selenium, Appium, Coded UI test, etc.) usando o Visual Studio Test (VSTest) runner. Você pode executar estruturas de teste que têm um adaptador de teste do Visual Studio. Exemplos de frameworks 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@3 é a versão mais recente da tarefa e deve ser usada em seus pipelines.

Sintaxe

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

Insumos

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

  • Montagem 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, consulte Associar testes automatizados a casos de teste.
  • Execução de teste: Use esta 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 integração contínua/implantação contínua (CI/CD).

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

Executa testes a partir dos arquivos especificados. Testes ordenados e webtests podem ser executados especificando os arquivos .orderedtest e .webtest, respectivamente. Para executar .webtest, é necessário o Visual Studio 2017 Atualização 4 ou superior. Os caminhos de arquivo são relativos à pasta de pesquisa. Esta entrada suporta várias linhas de padrões de minicorrespondência.

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

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

Executa testes a partir dos arquivos especificados. Testes ordenados e webtests podem ser executados especificando os arquivos .orderedtest e .webtest, respectivamente. Para executar .webtest, é necessário o Visual Studio 2017 Atualização 4 ou superior. Os caminhos de arquivo são relativos à pasta de pesquisa. Esta entrada suporta várias linhas de padrões de minicorrespondência.

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

testPlan - Plano de teste
string. Necessário quando testSelector = testPlan.

Especifica um plano de teste contendo conjuntos de testes com casos de teste automatizados.


testSuite - Conjunto de testes
string. Necessário quando testSelector = testPlan.

Especifica um ou mais conjuntos de testes contendo 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. Necessário quando testSelector = testPlan.

Especifica a configuração de teste.


tcmTestRun - de 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 que é usada ao acionar execuções de teste automatizadas de planos de teste. Esta opção não pode ser usada para executar testes no pipeline CI/CD.


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

Especifica a pasta para procurar os assemblies de teste.


resultsFolder - Pasta de 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 de vstest antes que 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 montagens de teste. Por exemplo: Priority=1|Name=MyTestMethod. Saiba mais sobre opções de linha de comando.


runOnlyImpactedTests - Executar apenas testes impactados
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 Análise de Impacto de Teste.


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

Especifica o número de compilações a serem executadas antes que todos os testes sejam executados automaticamente. A Análise de Impacto de Teste armazena o mapeamento entre casos de teste e código-fonte. Recomenda-se regenerar o mapeamento executando todos os testes regularmente.


uiTests - 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 em modo interativo com de logon automático habilitado. A configuração de um agente para ser executado interativamente deve ser feita antes de enfileirar a compilação/liberação. Marcar essa caixa não configura o agente no modo interativo automaticamente. Esta opção serve como um lembrete para configurar o agente adequadamente para evitar falhas. Os agentes Windows hospedados dos pools do VS 2015 e 2017 podem ser usados para executar testes de interface do usuário.


vstestLocationMethod - Selecione a plataforma de teste usando
string. Valores permitidos: version, location (Localização específica). 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 Visual Studio Test a ser usada. Se mais recente for especificado, essa entrada escolhe a versão mais recente (na lista de valores permitidos) que está instalada. Para executar testes sem precisar do Visual Studio no agente, use a opção Instalado pelo instalador de ferramentas. Certifique-se de incluir o Visual Studio Test Platform Installer tarefa 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 Visual Studio Test a ser usada. Se mais recente for especificado, essa entrada escolhe a versão mais recente (na lista de valores permitidos) que está instalada. Para executar testes sem precisar do Visual Studio no agente, use a opção Instalado pelo instalador de ferramentas. Certifique-se de incluir o Visual Studio Test Platform Installer tarefa para adquirir a plataforma de teste do NuGet.


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

Especifica o caminho para VSTest.


runSettingsFile - arquivo Configurações
string.

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


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

Substitui os parâmetros definidos na seção TestRunParameters de um arquivo runsettings ou na seção Properties de um arquivo testsettings. Por exemplo: -key1 value1 -key2 value2. Observação: propriedades especificadas em um arquivo testsettings podem ser acessadas por meio do TestContext usando o 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 máquinas multi-core
boolean. Valor padrão: False.

Se definido como true, os testes são executados em paralelo e aproveitam os núcleos disponíveis da máquina. Isso substituirá o MaxCpuCount se especificado no arquivo runsettings. Saiba mais sobre como 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 vstest.console.exe, mas os testes podem ser executados mais lentamente. Atualmente, essa opção não pode ser usada ao ser executada com a configuração de trabalho multiagente.


codeCoverageEnabled - Cobertura de código ativada
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 são suportadas e serão ignoradas ao executar testes usando a configuração de paralelo Multiagente de um trabalho de agente, ao executar testes usando a opção Plano de teste ou Executar de teste ou quando uma opção de lote personalizada for selecionada. 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 nos conjuntos 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 disponíveis de testes para executar em paralelo. Um lote pode ser executado:

com base no número de testes e agentes. 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 lote considera o tempo de execução passado para criar lotes de testes em que cada lote tem aproximadamente o mesmo tempo de execução.

com base em conjuntos de ensaio. Os testes de uma montagem são agrupados em lote.


batchingBasedOnAgentsOption - Opções de lote
string. Opcional. Use quando distributionBatchType = basedOnTestCases. Valores permitidos: autoBatchSize (Determinar automaticamente o tamanho do lote) customBatchSize (Especificar 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 for especificado um tamanho de lote, cada lote conterá o número especificado de testes.


customBatchSizeValue - Número de testes por lote
string. Necessá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 (Determinar automaticamente o tempo do lote) customTimeBatchSize (Especificar o tempo de execução por lote). Valor padrão: autoBatchSize.

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


customRunTimePerBatchValue - Tempo de execução (seg) por lote
string. Necessá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 sendo executada em um trabalho com vários agentes. Cada um dos testes selecionados será repetido em cada agente. Esta opção não é aplicável quando o trabalho do agente está configurado para ser executado sem paralelismo ou com a opção multi-config.


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

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


platform - Construir plataforma
string.

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


configuration - de configuração de compilação
string.

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


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

Opta por entrar ou não publicar anexos de nível de execução.


failOnMinTestsNotRun - Reprovará 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 quaisquer alterações nas entradas de tarefas ou dependências subjacentes do adaptador de teste levarem a apenas um subconjunto dos testes desejados a serem encontrados.


minimumExpectedTests - 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 seja bem-sucedida. O total de testes executados é calculado como a soma dos testes aprovados, reprovados e abortados.


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

Coleta dados de diagnóstico para solucionar problemas de falhas catastróficas, como uma falha de teste. Quando essa opção é marcada, um arquivo XML de sequência é gerado e anexado à execução do teste. O arquivo de sequência contém informações sobre a sequência na qual os testes foram executados, para que um teste de potencial 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 em abortar), alwaysnever. Valor padrão: onAbortOnly.

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

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

rerunFailedTests - Repetir 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 (% falha), basedOnTestFailureCount (# de testes reprovados). Valor padrão: basedOnTestFailurePercentage.

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


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

Evita a repetição de testes quando a porcentagem de casos de teste reprovados ultrapassa o limite especificado. Isso é aplicável se problemas ambientais levarem a falhas maciças.


rerunFailedTestCasesMaxLimit - # de testes reprovados
string. Opcional. Use quando rerunFailedTests = true && rerunType = basedOnTestFailureCount. Valor padrão: 5.

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


rerunMaxAttempts - 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 reprovado deve ser repetido. Se um teste passar antes que o número máximo de tentativas seja atingido, ele não será executado novamente.


Opções de controlo de tarefas

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

Variáveis de saída

Nenhum.

Observações

Use esta tarefa para executar testes funcionais e de unidade (Selenium, Appium, Coded UI test e muito mais) usando o executor de teste do Visual Studio. Junto 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 que a estrutura principal do .NET 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, consulte Executar testes em paralelo usando a tarefa Teste do Visual Studio.

Verificar pré-requisitos

Se você estiver usando um agente auto-hospedado do Windows, este pré-requisito deve ser instalado:

Exigências

O agente deve ter a seguinte capacidade:

vstest

A demanda vstest pode ser satisfeita de duas maneiras:

  1. O Visual Studio é instalado na máquina do agente.
  2. Usando a tarefa Visual Studio Test Platform Installer na definição de 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, é necessário o seguinte:

  1. Você deve ter o Visual Studio 2017.6 ou superior na máquina do agente. A tarefa Instalador da Plataforma de Teste do Visual Studio não pode ser usada para executar testes que usam TestCase como uma fonte de dados.
  2. Crie um PAT autorizado para o âmbito "Itens de trabalho (completo)".
  3. Adicione uma variável de compilação ou versão segura chamada Test.TestCaseAccessToken com o valor definido para a PAT criada na etapa anterior.

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

Os testes controlados por dados que usam 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. Execute novamente testes com falha.
  2. Distribuição de testes em vários agentes e opções de lote.
  3. Análise de Impacto de Testes.

As limitações acima são devido a como os adaptadores para essas estruturas de teste descobrem e relatam testes controlados por dados.

A tarefa VSTest suporta a execução de testes que visam várias estruturas de destino ao mesmo tempo?

Sim, a partir da versão 17.3 o VSTest oferece suporte à execução de testes que visam várias estruturas de destino ao mesmo tempo. 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, você precisará instalar uma versão compatível do VSTest por meio do Visual Studio Test Platform Installer e definir vsTestVersion para toolsInstaller usá-lo.

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

Este erro ocorre 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 revisar o arquivo trx gerado para ver todos os testes com prioridade maior que 255.

Requerimentos

Requisito Descrição
Tipos de pipeline YAML, Construção clássica, Versão clássica
Funciona em Agente, DeploymentGroup
Exigências Os agentes auto-hospedados devem ter recursos que correspondam às seguintes demandas executar trabalhos que usam essa tarefa: vstest
Capacidades Esta tarefa não satisfaz quaisquer exigências 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 de tarefa Teste