VSTest@2 - Tarefa v2 do Visual Studio Test
Utilize esta tarefa para executar testes de unidades e funcionais (Selenium, Appium, Coded UI test, etc.) com o corredor do Visual Studio Test (VSTest). Pode executar arquiteturas de teste que tenham um adaptador de teste do Visual Studio. As arquiteturas de exemplo são MSTest, xUnit, NUnit, Chutzpah (para testes JavaScript com QUnit, Mocha e Jasmine), etc. Os testes podem ser distribuídos em vários agentes com esta tarefa.
Nota
VSTest@2 é a versão mais recente da tarefa e deve ser utilizada nos 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 com
string
. Obrigatório. Valores permitidos: testAssemblies
(Assemblagens de teste), testPlan
(Plano de teste), testRun
(Execução de teste). Valor predefinido: testAssemblies
.
- Assemblagem de teste: Especifica uma ou mais assemblagens de teste que contêm os seus testes. Opcionalmente, 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 ao mesmo. Para saber mais sobre como associar testes a um item de trabalho de caso de teste, veja Associar testes automatizados a casos de teste.
- Execução de teste: Utilize esta opção quando estiver a configurar um ambiente para executar testes a partir de planos de teste. Esta opção não deve ser utilizada ao executar testes num pipeline de integração/implementação contínua (CI/CD).
testAssemblyVer2
- Testar ficheiros
string
. Necessário quando testSelector = testAssemblies
. Valor predefinido: **\bin\**\*test.dll\n**\bin\**\*tests.dll
.
Executa testes a partir dos ficheiros especificados. Os testes ordenados e os webtests podem ser executados ao especificar os .orderedtest
ficheiros e .webtest
, respetivamente. Para executar .webtest
o , é necessária a Atualização 4 ou superior do Visual Studio 2017. Os caminhos de ficheiro são relativos à pasta de pesquisa. Esta entrada suporta várias linhas de padrões de minimatch.
# Example
- task: VSTest@2
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**
testAssemblyVer2
- Testar ficheiros
string
. Necessário quando testSelector = testAssemblies
. Valor predefinido: **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**
.
Executa testes a partir dos ficheiros especificados. Os testes ordenados e os webtests podem ser executados ao especificar os .orderedtest
ficheiros e .webtest
, respetivamente. Para executar .webtest
o , é necessária a Atualização 4 ou superior do Visual Studio 2017. Os caminhos de ficheiro são relativos à pasta de pesquisa. Esta entrada suporta 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
. Necessário quando testSelector = testPlan
.
Especifica um plano de teste que contém 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 que contêm casos de teste automatizados. Os itens de trabalho de caso de teste têm de estar associados a um método de teste automatizado.
testConfiguration
- Configuração do teste
string
. Necessário quando testSelector = testPlan
.
Especifica a configuração do teste.
tcmTestRun
- Execução de Teste
string
. Opcional. Utilize quando testSelector = testRun
. Valor predefinido: $(test.RunId)
.
Especifica a seleção baseada em execução de teste que é utilizada ao acionar execuções de teste automatizadas a partir de planos de teste. Esta opção não pode ser utilizada para executar testes no pipeline CI/CD.
searchFolder
- Pasta de pesquisa
string
. Obrigatório. Valor predefinido: $(System.DefaultWorkingDirectory)
.
Especifica a pasta para procurar as assemblagens de teste.
resultsFolder
- Pasta de resultados do teste
string
. Valor predefinido: $(Agent.TempDirectory)\TestResults
.
Especifica a pasta para armazenar os resultados dos testes. Ao utilizar o diretório predefinido, este é limpo no final de uma execução de pipeline. O diretório de resultados será sempre limpo no início da tarefa antes de vstest
os testes serem executados. O caminho da pasta relativa, se for fornecido, será considerado em relação a $(Agent.TempDirectory)
.
testFiltercriteria
- Critérios de filtro de teste
string
. Opcional. Utilize quando testSelector = testAssemblies
.
Especifica critérios adicionais para filtrar testes de assemblagens de teste. Por exemplo: Priority=1|Name=MyTestMethod
. Saiba mais sobre as opções da linha de comandos.
runOnlyImpactedTests
- Executar apenas testes afetados
boolean
. Opcional. Utilize quando testSelector = testAssemblies
. Valor predefinido: False
.
Especifica e executa automaticamente os testes necessários para validar a alteração de código. Saiba mais sobre como utilizar a Análise de Impacto de Teste.
runAllTestsAfterXBuilds
- Número de compilações após o qual todos os testes devem ser executados
string
. Opcional. Utilize quando testSelector = testAssemblies && runOnlyImpactedTests = true
. Valor predefinido: 50
.
Especifica o número de compilações a executar antes de todos os testes serem executados automaticamente. A Análise de Impacto de Teste armazena o mapeamento entre casos de teste e código fonte. Recomenda-se que volte a gerar o mapeamento ao executar todos os testes regularmente.
uiTests
- A combinação de teste contém testes de IU
boolean
. Valor predefinido: false
.
Para executar testes de IU, certifique-se de que o agente está definido para ser executado no modo interativo com o Registo Automático ativado. A configuração de um agente para ser executado interativamente tem de ser feita antes de colocar em fila a compilação/versão. A verificação desta caixa não configura automaticamente o agente no modo interativo. Esta opção serve como um lembrete para configurar o agente adequadamente para evitar falhas. Os agentes alojados do Windows dos conjuntos do VS 2015 e 2017 podem ser utilizados para executar testes de IU.
vstestLocationMethod
- Selecionar a plataforma de teste com
string
. Valores permitidos: version
, location
(Localização específica). Valor predefinido: version
.
Especifica a plataforma de teste a utilizar.
vsTestVersion
- Testar a versão da plataforma
string
. Opcional. Utilize 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 predefinido: latest
.
Especifica a versão do Visual Studio Test a utilizar. Se a versão mais recente for especificada, esta 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, utilize a opção Instalado por ferramentas do instalador . Certifique-se de que inclui a tarefa Do Instalador da Plataforma de Teste do Visual Studio para adquirir a plataforma de teste a partir do NuGet.
vsTestVersion
- Testar a versão da plataforma
string
. Opcional. Utilize 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 predefinido: latest
.
Especifica a versão do Visual Studio Test a utilizar. Se a versão mais recente for especificada, esta 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, utilize a opção Instalado por ferramentas do instalador . Certifique-se de que inclui a tarefa Do Instalador da Plataforma de Teste do Visual Studio para adquirir a plataforma de teste a partir do NuGet.
vstestLocation
- Caminho para vstest.console.exe
string
. Opcional. Utilize quando vstestLocationMethod = location
.
Especifica o caminho para VSTest.
runSettingsFile
- Ficheiro de definições
string
.
Especifica o caminho para um runsettings
ficheiro ou testsettings
para utilizar com os testes. Para o Visual Studio 15.7 e superior, utilize runsettings
para todos os tipos de teste. Saiba mais sobre como converter um .testsettings
ficheiro num .runsettings
ficheiro.
overrideTestrunParameters
- Substituir parâmetros de execução de teste
string
.
Substitui os parâmetros definidos na TestRunParameters
secção de um runsettings
ficheiro ou na Properties
secção de um testsettings
ficheiro. Por exemplo: -key1 value1 -key2 value2
. Nota: As propriedades especificadas num testsettings
ficheiro podem ser acedidas através do 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 as assemblagens de teste são automaticamente detetados.
runInParallel
- Executar testes em paralelo em máquinas multi-núcleo
boolean
. Valor predefinido: False
.
Se definido como true
, os testes são executados em paralelo e tiram partido dos núcleos disponíveis da máquina. Isto substituirá o MaxCpuCount
se especificado no seu runsettings
ficheiro. Saiba mais sobre como os testes são executados em paralelo.
runTestsInIsolation
- Executar testes isoladamente
boolean
. Valor predefinido: False
.
Executa os testes num processo isolado. Isto provavelmente leva a menos erros no processo de teste vstest.console.exe, mas os testes podem ser executados mais lentamente. Atualmente, esta opção não pode ser utilizada ao executar com a definição de tarefa multi-agente.
codeCoverageEnabled
- Cobertura do código ativada
boolean
. Valor predefinido: False
.
Recolhe informações de cobertura de código da execução de teste.
otherConsoleOptions
- Outras opções de consola
string
.
Outras opções de consola que podem ser transmitidas para vstest.console.exe.
Estas opções não são suportadas e serão ignoradas ao executar testes com a definição paralela Multi-agent de uma tarefa de agente, ao executar testes com o plano de teste ou a opção Testar execução , ou quando uma opção de criação de lotes personalizada estiver selecionada. As opções podem ser especificadas com um ficheiro de definições.
distributionBatchType
- Testes em lotes
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 assemblagens de teste). Valor predefinido: basedOnTestCases
.
Um lote é um grupo de testes. Um lote de testes executa os testes ao mesmo tempo e os resultados são publicados para o lote. Se a tarefa em que a tarefa é executada estiver definida para utilizar vários agentes, cada agente recolhe todos os lotes de testes disponíveis para serem executados em paralelo. Pode executar um lote:
com base no número de testes e agentes. Criação de lotes simples com base no número de testes e agentes que participam na execução do teste.
com base no tempo de execução anterior dos testes. Este batching considera o tempo de execução anterior para criar lotes de testes em que cada lote tem aproximadamente igual tempo de execução.
com base em assemblagens de teste. Os testes de uma assemblagem são agrupados em conjunto.
batchingBasedOnAgentsOption
- Opções do Batch
string
. Opcional. Utilize quando distributionBatchType = basedOnTestCases
. Valores permitidos: autoBatchSize
(Determine automaticamente o tamanho do lote), customBatchSize
(Especifique um tamanho de lote). Valor predefinido: autoBatchSize
.
Especifica o batching simples com base no número de testes e agentes que participam na 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 irá conter o número especificado de testes.
customBatchSizeValue
- Número de testes por lote
string
. Necessário quando distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize
. Valor predefinido: 10
.
Especifica o tamanho do lote.
batchingBasedOnExecutionTimeOption
- Opções do Batch
string
. Opcional. Utilize quando distributionBatchType = basedOnExecutionTime
. Valores permitidos: autoBatchSize
(Determine automaticamente o tempo de lote), customTimeBatchSize
(Especifique o tempo de execução por lote). Valor predefinido: autoBatchSize
.
Este batching considera tempos de execução anteriores para criar lotes de testes em que cada lote tem aproximadamente igual tempo de execução. Os testes de execução rápida serão agrupados em conjunto, enquanto os testes de execução mais longa podem pertencer a um lote separado. Quando esta opção é utilizada com a definição de tarefa multi-agente, o tempo total de teste é reduzido para um mínimo.
customRunTimePerBatchValue
- Tempo de execução (seg) por lote
string
. Necessário quando distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize
. Valor predefinido: 60
.
Especifica o tempo de execução (em segundos) por lote.
dontDistribute
- Replicar testes em vez de distribuir quando vários agentes são utilizados na tarefa
boolean
. Valor predefinido: False
.
Escolher esta opção não distribuirá testes entre agentes quando a tarefa estiver em execução numa tarefa multi-agente. Cada um dos testes selecionados será repetido em cada agente. Esta opção não é aplicável quando a tarefa do agente está configurada para ser executada sem paralelismo ou com a opção multi-configuração.
dontDistribute
- Não distribua os testes e replique quando são utilizados vários agentes na tarefa
boolean
. Valor predefinido: False
.
Escolher esta opção não distribuirá testes entre agentes quando a tarefa estiver em execução numa tarefa multi-agente. Cada um dos testes selecionados será repetido em cada agente. Esta opção não é aplicável quando a tarefa do agente está configurada para ser executada sem paralelismo ou com a opção multi-configuração.
testRunTitle
- Título da execução de teste
string
.
Especifica um nome para a execução de teste.
platform
- Criar plataforma
string
.
Especifica a plataforma de compilação na qual os testes devem ser comunicados. Se tiver definido uma variável para a plataforma na sua tarefa de compilação, utilize-a com esta entrada.
configuration
- Configuração da compilação
string
.
Especifica a configuração de compilação na qual os testes devem ser comunicados. Se tiver definido uma variável para configuração na sua tarefa de compilação, utilize-a com esta entrada.
publishRunAttachments
- Carregar anexos de teste
boolean
. Valor predefinido: true
.
Opta ativamente por participar ou não publicar anexos de nível de execução.
failOnMinTestsNotRun
- Falhar a tarefa se não for executado um número mínimo de testes.
boolean
. Valor predefinido: False
.
Falha na tarefa se não for executado um número mínimo de testes. Isto pode ser útil se quaisquer alterações às entradas de tarefas ou dependências subjacentes do adaptador de teste levarem apenas a um subconjunto dos testes pretendidos a serem encontrados.
minimumExpectedTests
- N.º mínimo de testes
string
. Opcional. Utilize quando failOnMinTestsNotRun = true
. Valor predefinido: 1
.
Especifica o número mínimo de testes a executar para que a tarefa seja bem-sucedida. O total de testes executados é calculado como a soma dos testes aprovados, falhados e abortados.
diagnosticsEnabled
- Recolher diagnósticos avançados em caso de falhas catastróficas
boolean
. Valor predefinido: false
.
Recolhe dados de diagnóstico para resolver falhas catastróficas, como uma falha de teste. Quando esta opção é selecionada, é gerado um ficheiro XML de sequência e anexado à execução de teste. O ficheiro de sequência contém informações sobre a sequência em que os testes foram executados, para que possa ser identificado um potencial teste culpado.
diagnosticsEnabled
- Recolher diagnósticos avançados em caso de falhas catastróficas
boolean
. Valor predefinido: True
.
Recolhe dados de diagnóstico para resolver falhas catastróficas, como uma falha de teste. Quando esta opção é selecionada, é gerado um ficheiro XML de sequência e anexado à execução de teste. O ficheiro de sequência contém informações sobre a sequência em que os testes foram executados, para que possa ser identificado um potencial teste culpado.
collectDumpOn
- Recolher informação de falha de sistema do processo e anexar ao relatório de execução de teste
string
. Opcional. Utilize quando diagnosticsEnabled = true
. Valores permitidos: onAbortOnly
(Apenas ao abortar), always
, never
. Valor predefinido: onAbortOnly
.
Recolhe uma mini captura que pode ser utilizada para análise adicional.
- onAbortOnly - uma mini captura só será recolhida quando a execução do teste for abortada.
- Sempre – será sempre recolhida uma mini captura, independentemente de a execução do teste ser concluída ou não.
- Nunca – não será recolhida uma mini captura, independentemente de a execução do teste ser concluída ou não.
rerunFailedTests
- Executar novamente os testes com falhas
boolean
. Valor predefinido: False
.
Executar novamente quaisquer testes com falha até que passem ou até que seja atingido o número máximo de tentativas.
rerunType
- Não volte a executar se as falhas de teste excederem o limiar especificado
string
. Opcional. Utilize quando rerunFailedTests = true
. Valores permitidos: basedOnTestFailurePercentage
(% de falha), basedOnTestFailureCount
(# de testes falhados). Valor predefinido: basedOnTestFailurePercentage
.
Evita executar novamente os testes quando a taxa de falhas ultrapassa o limiar especificado. Isto é aplicável se os problemas de ambiente levarem a falhas massivas. Pode especificar a percentagem de falhas ou o número de testes falhados como um limiar.
rerunFailedThreshold
- % de falha
string
. Opcional. Utilize quando rerunFailedTests = true && rerunType = basedOnTestFailurePercentage
. Valor predefinido: 30
.
Evita a nova execução de testes quando a percentagem de casos de teste falhados ultrapassa o limiar especificado. Isto é aplicável se os problemas de ambiente levarem a falhas massivas.
rerunFailedTestCasesMaxLimit
- N.º de testes falhados
string
. Opcional. Utilize quando rerunFailedTests = true && rerunType = basedOnTestFailureCount
. Valor predefinido: 5
.
Evita a nova execução de testes quando o número de casos de teste falhados ultrapassa o limite especificado. Isto é aplicável se os problemas de ambiente levarem a falhas massivas.
rerunMaxAttempts
- N.º máximo de tentativas
string
. Opcional. Utilize quando rerunFailedTests = true
. Valor predefinido: 3
.
Especifica o número máximo de vezes que um teste com falha deve ser repetido. Se um teste for aprovado antes do número máximo de tentativas ser atingido, não será novamente executado.
Opções de controlo de tarefas
Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.
Variáveis de saída
Nenhum.
Observações
Utilize esta tarefa para executar testes funcionais e de unidades (Selenium, Appium, Teste de IU codificada e muito mais) com a execução do Visual Studio Test. Juntamente com os testes baseados em MSTest, as arquiteturas de teste que têm um adaptador de teste do Visual Studio também podem ser executadas, como xUnit, NUnit ou Chutzpah.
Testa que o .NET Core Framework de destino pode ser executado ao especificar o valor de arquitetura de destino adequado no ficheiro .runsettings.
Os testes podem ser distribuídos em vários agentes com a versão 2 desta tarefa. Para obter mais informações, veja Executar testes em paralelo com a tarefa de Teste do Visual Studio.
Verificar pré-requisitos
Se estiver a utilizar um agente autoalojado do Windows, este pré-requisito tem de ser instalado:
- .NET Framework 4.6.2 ou uma versão posterior
Exigências
O agente tem de ter a seguinte capacidade:
vstest
A procura do vstest pode ser satisfeita de duas formas:
- O Visual Studio está instalado no computador do agente.
- Ao utilizar a tarefa Instalador da Plataforma de Teste do Visual Studio na definição do pipeline.
Como posso executar testes que utilizam o TestCase como origem de dados?
Para executar testes automatizados que utilizam TestCase como origem de dados, é necessário o seguinte:
- Tem de ter o Visual Studio 2017.6 ou superior no computador do agente. A tarefa Do Instalador da Plataforma de Teste do Visual Studio não pode ser utilizada para executar testes que utilizem TestCase como uma origem de dados.
- Create um PAT autorizado para o âmbito "Itens de Trabalho (completos)".
- Adicione uma variável de compilação ou versão segura chamada
Test.TestCaseAccessToken
com o valor definido para o PAT criado no passo anterior.
Estou a ter problemas ao executar testes xUnit e NUnit orientados por dados com algumas das opções de tarefa. Existem limitações conhecidas?
Os testes baseados em dados que utilizam arquiteturas de teste xUnit e NUnit têm algumas limitações conhecidas e não podem ser utilizados com as seguintes opções de tarefa:
- Executar novamente os testes falhados.
- Distribuir testes em vários agentes e opções de criação de batches.
- Teste a Análise de Impacto.
As limitações acima são devido à forma como os adaptadores para estas arquiteturas de teste detetam e reportam testes condicionados por dados.
A tarefa VSTest suporta a execução de testes que visam várias arquiteturas de destino de cada vez?
Sim, começar a partir da versão 17.3
VSTest suporta a execução de testes que visam várias arquiteturas de destino de cada vez.
Antes disso, tal não era possível devido a uma limitação do lado da plataforma VSTest .
Se quiser executar testes que pertencem a várias arquiteturas de destino, terá de instalar uma versão compatível do VSTest através do Instalador de Plataforma de Teste do Visual Studio e definir vsTestVersion
como toolsInstaller
para utilizá-la.
Ao publicar o resultado do teste, obteve 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 uma prioridade definida acima de 255, corrigir a prioridade do método de teste no código e executar os testes novamente. Pode rever o ficheiro trx gerado para ver todos os testes com uma prioridade superior a 255.
Requisitos
Requisito | Description |
---|---|
Tipos de pipeline | YAML, Compilação clássica, Versão clássica |
É executado em | Agent, DeploymentGroup |
Exigências | Os agentes autoalojados têm de ter capacidades que correspondam às seguintes exigências para executar tarefas que utilizem esta tarefa: vstest |
Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa. |
Restrições de comandos | Qualquer |
Variáveis de definição | Qualquer |
Versão do agente | 2.103.0 ou superior |
Categoria da tarefa | Teste |