VSTest@2 - Attività Test v2 di Visual Studio

Usare questa attività per eseguire unit test funzionali (Selenio, Appium, Test codificato dell'interfaccia utente e così via) usando il runner visual Studio Test (VSTest). È possibile eseguire framework di test con una scheda di test di Visual Studio. I framework di esempio sono MSTest, xUnit, NUnit, Chutzpah (per i test JavaScript usando QUnit, Mocha e Jasmine) e così via. I test possono essere distribuiti in più agenti usando questa attività.

Nota

VSTest@2 è la versione più recente dell'attività e deve essere usata nelle pipeline.

Sintassi

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

Input

testSelector - Selezionare i test usando
string. Obbligatorio. Valori consentiti: testAssemblies (assembly di test), (piano di test), testPlantestRun (esecuzione test). Valore predefinito: testAssemblies.

  • Assembly di test: Specifica uno o più assembly di test che contengono i test. Facoltativamente, è possibile specificare criteri di filtro per selezionare solo test specifici.
  • Piano di test: Esegue test dal piano di test con un metodo di test automatizzato associato. Per altre informazioni su come associare i test a un elemento di lavoro del test case, vedere Associare test automatizzati ai test case.
  • Esecuzione di test: Usare questa opzione quando si configura un ambiente per eseguire test dai piani di test. Questa opzione non deve essere usata durante l'esecuzione di test in una pipeline di integrazione/distribuzione continua (CI/CD).

testAssemblyVer2 - File di test
string. Obbligatorio quando testSelector = testAssemblies. Valore predefinito: **\bin\**\*test.dll\n**\bin\**\*tests.dll.

Esegue i test dai file specificati. I test ordinati e i test Web possono essere eseguiti specificando rispettivamente i .orderedtest file e .webtest . Per eseguire .webtest, è necessario l'aggiornamento 4 o versione successiva di Visual Studio 2017. I percorsi dei file sono relativi alla cartella di ricerca. Questo input supporta più righe di modelli minimatch.

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

testAssemblyVer2 - File di test
string. Obbligatorio quando testSelector = testAssemblies. Valore predefinito: **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**.

Esegue i test dai file specificati. I test ordinati e i test Web possono essere eseguiti specificando rispettivamente i .orderedtest file e .webtest . Per eseguire .webtest, è necessario l'aggiornamento 4 o versione successiva di Visual Studio 2017. I percorsi dei file sono relativi alla cartella di ricerca. Questo input supporta più righe di modelli minimatch.

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

testPlan - Piano di test
string. Obbligatorio quando testSelector = testPlan.

Specifica un piano di test contenente i gruppi di test con test case automatizzati.


testSuite - Suite di test
string. Obbligatorio quando testSelector = testPlan.

Specifica uno o più pacchetti di test contenenti test case automatizzati. Gli elementi di lavoro del test case devono essere associati a un metodo di test automatizzato.


testConfiguration - Configurazione di test
string. Obbligatorio quando testSelector = testPlan.

Specifica la configurazione del test.


tcmTestRun - Esecuzione test
string. facoltativo. Usare quando testSelector = testRun. Valore predefinito: $(test.RunId).

Specifica la selezione basata su esecuzione del test usata durante l'attivazione di esecuzioni di test automatizzate dai piani di test. Questa opzione non può essere usata per l'esecuzione di test nella pipeline CI/CD.


searchFolder - Cartella di ricerca
string. Obbligatorio. Valore predefinito: $(System.DefaultWorkingDirectory).

Specifica la cartella da cercare negli assembly di test.


resultsFolder - Cartella dei risultati dei test
string. Valore predefinito: $(Agent.TempDirectory)\TestResults.

Specifica la cartella per archiviare i risultati dei test. Quando si usa la directory predefinita, viene pulita alla fine di un'esecuzione della pipeline. La directory dei risultati verrà sempre pulita all'inizio dell'attività prima dell'esecuzione vstest dei test. Il percorso della cartella relativo, se specificato, verrà considerato relativo a $(Agent.TempDirectory).


testFiltercriteria - Criteri di filtro di test
string. facoltativo. Usare quando testSelector = testAssemblies.

Specifica criteri aggiuntivi per filtrare i test dagli assembly di test. Ad esempio: Priority=1|Name=MyTestMethod. Informazioni sulle opzioni della riga di comando.


runOnlyImpactedTests - Eseguire solo test interessati
boolean. facoltativo. Usare quando testSelector = testAssemblies. Valore predefinito: False.

Specifica e esegue automaticamente i test necessari per convalidare la modifica del codice. Informazioni sull'uso dell'analisi dell'impatto del test.


runAllTestsAfterXBuilds - Numero di compilazioni dopo cui tutti i test devono essere eseguiti
string. facoltativo. Usare quando testSelector = testAssemblies && runOnlyImpactedTests = true. Valore predefinito: 50.

Specifica il numero di compilazioni da eseguire prima che tutti i test vengano eseguiti automaticamente. Test Impact Analysis archivia il mapping tra test case e codice sorgente. È consigliabile rigenerare il mapping eseguendo tutti i test regolarmente.


uiTests - La combinazione di test contiene test dell'interfaccia utente
boolean. Valore predefinito: false.

Per eseguire test dell'interfaccia utente, assicurarsi che l'agente sia impostato per l'esecuzione in modalità interattiva con Accesso automatico abilitato. La configurazione di un agente per l'esecuzione interattiva deve essere eseguita prima di accodare la compilazione/rilascio. La casella di controllo non configura automaticamente l'agente in modalità interattiva. Questa opzione funge da promemoria per configurare l'agente in modo appropriato per evitare errori. Gli agenti Windows ospitati dai pool VS 2015 e 2017 possono essere usati per eseguire test dell'interfaccia utente.


vstestLocationMethod - Selezionare la piattaforma di test usando
string. Valori consentiti: version, location (posizione specifica). Valore predefinito: version.

Specifica la piattaforma di test da usare.


vsTestVersion - Versione della piattaforma di test
string. facoltativo. Usare quando vstestLocationMethod = version. Valori consentiti: latest, 17.0 (Visual Studio 2022), (Visual Studio 2019 15.0 ), (Visual Studio 2017 14.0 ), (Visual Studio 2015), 16.0toolsInstaller (Installato dal programma di installazione degli strumenti). Valore predefinito: latest.

Specifica la versione di Visual Studio Test da usare. Se viene specificata l'ultima versione, questo input sceglie la versione più recente (dall'elenco dei valori consentiti) installata. Per eseguire test senza bisogno di Visual Studio nell'agente, usare l'opzione Installato dal programma di installazione degli strumenti . Assicurarsi di includere l'attività Programma di installazione della piattaforma di test di Visual Studio per acquisire la piattaforma di test da NuGet.


vsTestVersion - Versione della piattaforma di test
string. facoltativo. Usare quando vstestLocationMethod = version. Valori consentiti: latest, 16.0 (Visual Studio 2019), (Visual Studio 2017), (Visual Studio 2015), 15.014.0toolsInstaller (Installato dal programma di installazione degli strumenti). Valore predefinito: latest.

Specifica la versione di Visual Studio Test da usare. Se viene specificata l'ultima versione, questo input sceglie la versione più recente (dall'elenco dei valori consentiti) installata. Per eseguire test senza bisogno di Visual Studio nell'agente, usare l'opzione Installato dal programma di installazione degli strumenti . Assicurarsi di includere l'attività Programma di installazione della piattaforma di test di Visual Studio per acquisire la piattaforma di test da NuGet.


vstestLocation - Percorso di vstest.console.exe
string. facoltativo. Usare quando vstestLocationMethod = location.

Specifica il percorso di VSTest.


runSettingsFile - File di impostazioni
string.

Specifica il percorso di un runsettings file o testsettings da usare con i test. Per Visual Studio 15.7 e versioni successive, usare runsettings per tutti i tipi di test. Altre informazioni sulla conversione di un .testsettings file in un .runsettings file.


overrideTestrunParameters - Eseguire l'override dei parametri di esecuzione del test
string.

Esegue l'override TestRunParameters dei parametri definiti nella sezione di un file o nella Properties sezione di un runsettingstestsettings file. Ad esempio: -key1 value1 -key2 value2. Nota: Le proprietà specificate in un testsettings file possono essere accessibili tramite l'uso TestContext di Visual Studio 2017 (aggiornamento 4 o versione successiva).


pathtoCustomTestAdapters - Percorso delle schede di test personalizzate
string.

Specifica il percorso della directory per adattatori di test personalizzati. Gli adattatori che risiedono nella stessa cartella degli assembly di test vengono individuati automaticamente.


runInParallel - Eseguire test in parallelo in computer multi-core
boolean. Valore predefinito: False.

Se impostato su true, i test vengono eseguiti in parallelo e sfruttano i core disponibili del computer. In questo modo verrà eseguito l'override dell'oggetto MaxCpuCount se specificato nel runsettings file. Altre informazioni su come vengono eseguiti i test in parallelo.


runTestsInIsolation - Eseguire test in isolamento
boolean. Valore predefinito: False.

Esegue i test in un processo isolato. Questo comporta probabilmente un minor numero di errori nel processo di test vstest.console.exe, ma i test potrebbero essere eseguiti più lentamente. Questa opzione attualmente non può essere usata durante l'esecuzione con l'impostazione del processo multi-agente.


codeCoverageEnabled - Code coverage abilitato
boolean. Valore predefinito: False.

Raccoglie le informazioni di code coverage dall'esecuzione del test.


otherConsoleOptions - Altre opzioni della console
string.

Altre opzioni della console che possono essere passate a vstest.console.exe.

Queste opzioni non sono supportate e verranno ignorate durante l'esecuzione di test usando l'impostazione parallela multi-agente di un processo dell'agente, quando si eseguono test usando l'opzione Piano di test o Esecuzione test o quando viene selezionata un'opzione di batch personalizzata. Le opzioni possono essere specificate usando invece un file di impostazioni.


distributionBatchType - Test batch
string. Valori consentiti: basedOnTestCases (in base al numero di test e agli agenti), (in base al passato tempo di esecuzione dei test), basedOnExecutionTimebasedOnAssembly (in base agli assembly di test). Valore predefinito: basedOnTestCases.

Un batch è un gruppo di test. Un batch di test esegue i test contemporaneamente e i risultati vengono pubblicati per il batch. Se il processo in cui viene eseguita l'attività è impostato per l'uso di più agenti, ogni agente raccoglie eventuali batch disponibili di test da eseguire in parallelo. Un batch può essere eseguito:

in base al numero di test e agenti. Batch semplice in base al numero di test e agenti che partecipano all'esecuzione del test.

in base al passato tempo di esecuzione dei test. Questo batch considera il tempo di esecuzione passato per creare batch di test in cui ogni batch ha circa lo stesso tempo di esecuzione.

in base agli assembly di test. I test provenienti da un assembly vengono in batch.


batchingBasedOnAgentsOption - Opzioni batch
string. facoltativo. Usare quando distributionBatchType = basedOnTestCases. Valori consentiti: autoBatchSize (Determinare automaticamente le dimensioni del batch), customBatchSize (Specificare una dimensione batch). Valore predefinito: autoBatchSize.

Specifica un batch semplice in base al numero di test e agenti che partecipano all'esecuzione del test. Quando le dimensioni del batch vengono determinate automaticamente, ogni batch contiene (total number of tests / number of agents) test. Se viene specificata una dimensione batch, ogni batch conterrà il numero specificato di test.


customBatchSizeValue - Numero di test per batch
string. Obbligatorio quando distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Valore predefinito: 10.

Specifica le dimensioni del batch.


batchingBasedOnExecutionTimeOption - Opzioni batch
string. facoltativo. Usare quando distributionBatchType = basedOnExecutionTime. Valori consentiti: autoBatchSize (Determinare automaticamente l'ora batch), customTimeBatchSize (Specificare l'ora di esecuzione per batch). Valore predefinito: autoBatchSize.

Questo batch considera i tempi di esecuzione precedenti per creare batch di test in cui ogni batch ha circa lo stesso tempo di esecuzione. I test in esecuzione rapida verranno in batch, mentre i test più lunghi possono appartenere a un batch separato. Quando questa opzione viene usata con l'impostazione del processo multi-agente, il tempo di test totale viene ridotto al minimo.


customRunTimePerBatchValue - Tempo di esecuzione (sec) per batch
string. Obbligatorio quando distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Valore predefinito: 60.

Specifica il tempo di esecuzione (in secondi) per batch.


dontDistribute - Replicare i test invece di distribuire quando vengono usati più agenti nel processo
boolean. Valore predefinito: False.

La scelta di questa opzione non distribuisce i test tra gli agenti quando l'attività è in esecuzione in un processo multi-agente. Ogni test selezionato verrà ripetuto in ogni agente. Questa opzione non è applicabile quando il processo dell'agente è configurato per l'esecuzione senza parallelismo o con l'opzione multi-config.


dontDistribute - Non distribuire test e replicare invece quando vengono usati più agenti nel processo
boolean. Valore predefinito: False.

La scelta di questa opzione non distribuisce i test tra gli agenti quando l'attività è in esecuzione in un processo multi-agente. Ogni test selezionato verrà ripetuto in ogni agente. Questa opzione non è applicabile quando il processo dell'agente è configurato per l'esecuzione senza parallelismo o con l'opzione multi-config.


testRunTitle - Titolo esecuzione test
string.

Specifica un nome per l'esecuzione del test.


platform - Piattaforma di compilazione
string.

Specifica la piattaforma di compilazione in base alla quale devono essere segnalati i test. Se è stata definita una variabile per la piattaforma nell'attività di compilazione, usarla con questo input.


configuration - Configurazione della compilazione
string.

Specifica la configurazione di compilazione in base alla quale devono essere segnalati i test. Se è stata definita una variabile per la configurazione nell'attività di compilazione, usarla con questo input.


publishRunAttachments - Caricare allegati di test
boolean. Valore predefinito: true.

Acconsentire esplicitamente o rifiutare esplicitamente gli allegati a livello di esecuzione della pubblicazione.


failOnMinTestsNotRun - Non eseguire l'attività se non viene eseguito un numero minimo di test.
boolean. Valore predefinito: False.

L'attività ha esito negativo se non viene eseguito un numero minimo di test. Ciò può essere utile se eventuali modifiche agli input delle attività o alle dipendenze dell'adattatore di test sottostante determinano solo un subset dei test desiderati da trovare.


minimumExpectedTests - Numero minimo di test
string. facoltativo. Usare quando failOnMinTestsNotRun = true. Valore predefinito: 1.

Specifica il numero minimo di test da eseguire affinché l'attività abbia esito positivo. I test totali eseguiti vengono calcolati come somma dei test superati, non superati e interrotti.


diagnosticsEnabled - Raccogliere diagnostica avanzata in caso di errori irreversibili
boolean. Valore predefinito: false.

Raccoglie i dati di diagnostica per risolvere gli errori irreversibili, ad esempio un arresto anomalo del test. Quando questa opzione viene selezionata, viene generato e collegato un file XML di sequenza all'esecuzione del test. Il file di sequenza contiene informazioni sulla sequenza in cui sono stati eseguiti i test, quindi è possibile identificare un potenziale test del colpevole.


diagnosticsEnabled - Raccogliere diagnostica avanzata in caso di errori irreversibili
boolean. Valore predefinito: True.

Raccoglie i dati di diagnostica per risolvere gli errori irreversibili, ad esempio un arresto anomalo del test. Quando questa opzione viene selezionata, viene generato e collegato un file XML di sequenza all'esecuzione del test. Il file di sequenza contiene informazioni sulla sequenza in cui sono stati eseguiti i test, quindi è possibile identificare un potenziale test del colpevole.


collectDumpOn - Raccogliere il dump del processo e collegarsi al report di esecuzione dei test
string. facoltativo. Usare quando diagnosticsEnabled = true. Valori consentiti: onAbortOnly (solo in caso di interruzione), always, never. Valore predefinito: onAbortOnly.

Raccoglie un mini dump che può essere utilizzato per un'ulteriore analisi.

  • onAbortOnly : un mini dump verrà raccolto solo quando l'esecuzione del test viene interrotta.
  • Sempre : un mini dump verrà sempre raccolto indipendentemente dal fatto che l'esecuzione del test venga completata o meno.
  • Mai : un mini dump non verrà raccolto indipendentemente dal fatto che l'esecuzione del test venga completata o meno.

rerunFailedTests - Rieseguire i test non superati
boolean. Valore predefinito: False.

Riesegui tutti i test non superati fino a quando non vengono superati o fino a quando non viene raggiunto il numero massimo di tentativi.


rerunType - Non rieseguire se gli errori di test superano la soglia specificata
string. facoltativo. Usare quando rerunFailedTests = true. Valori consentiti: basedOnTestFailurePercentage (% errore), basedOnTestFailureCount (# di test non superati). Valore predefinito: basedOnTestFailurePercentage.

Evita la ripetizione dei test quando la frequenza di errore supera la soglia specificata. Ciò è applicabile se i problemi di ambiente portano a errori di grandi dimensioni. È possibile specificare la percentuale di errori o il numero di test non superati come soglia.


rerunFailedThreshold - % errore
string. facoltativo. Usare quando rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. Valore predefinito: 30.

Evita la ripetizione dei test quando la percentuale di test case non superati supera la soglia specificata. Ciò è applicabile se i problemi di ambiente portano a errori di grandi dimensioni.


rerunFailedTestCasesMaxLimit - Numero di test non superati
string. facoltativo. Usare quando rerunFailedTests = true && rerunType = basedOnTestFailureCount. Valore predefinito: 5.

Evita di ripetere i test quando il numero di test case non superati supera il limite specificato. Ciò è applicabile se i problemi di ambiente portano a errori di grandi dimensioni.


rerunMaxAttempts - Numero massimo di tentativi
string. facoltativo. Usare quando rerunFailedTests = true. Valore predefinito: 3.

Specifica il numero massimo di tentativi di ripetizione di un test non riuscito. Se un test viene superato prima del raggiungimento del numero massimo di tentativi, non verrà rieseguito.


Opzioni di controllo delle attività

Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Nessuno.

Osservazioni

Usare questa attività per eseguire unit test funzionali (Selenium, Appium, test codificato dell'interfaccia utente e altro ancora) usando lo strumento di esecuzione test di Visual Studio. Insieme ai test basati su MSTest, è anche possibile eseguire framework di test con un adattatore di test di Visual Studio, ad esempio xUnit, NUnit o Chutzpah.

Verifica che il framework .NET Core di destinazione possa essere eseguito specificando il valore del framework di destinazione appropriato nel file con estensione runsettings.

I test possono essere distribuiti su più agenti usando la versione 2 di questa attività. Per altre informazioni, vedere Eseguire test in parallelo usando l'attività Test di Visual Studio.

Verificare i prerequisiti

Se si usa un agente self-hosted di Windows, è necessario installare questo prerequisito:

Richieste

L'agente deve avere la funzionalità seguente:

vstest

La domanda vstest può essere soddisfatta in due modi:

  1. Visual Studio viene installato nel computer dell'agente.
  2. Usando l'attività Programma di installazione piattaforma di test di Visual Studio nella definizione della pipeline.

Come è possibile eseguire test che usano TestCase come origine dati?

Per eseguire test automatizzati che usano TestCase come origine dati, è necessario quanto segue:

  1. Nel computer agente è necessario disporre di Visual Studio 2017.6 o versione successiva. Non è possibile usare l'attività Programma di installazione piattaforma di test di Visual Studio per eseguire test che usano TestCase come origine dati.
  2. Create un pat autorizzato per l'ambito "Elementi di lavoro (completo)".
  3. Aggiungere una variabile di compilazione o versione sicura denominata Test.TestCaseAccessToken con il valore impostato sul pat creato nel passaggio precedente.

Si verificano problemi durante l'esecuzione di test xUnit e NUnit basati sui dati con alcune delle opzioni dell'attività. Esistono limitazioni note?

I test basati sui dati che usano framework di test xUnit e NUnit presentano alcune limitazioni note e non possono essere usati con le opzioni di attività seguenti:

  1. Rieseguire i test non superati.
  2. Distribuzione di test su più agenti e opzioni di invio in batch.
  3. Analisi dell'impatto dei test.

Le limitazioni precedenti sono dovuto al modo in cui gli adattatori per questi framework di test individuano e segnalano test basati sui dati.

L'attività VSTest supporta l'esecuzione di test destinati a più framework di destinazione alla volta?

Sì, a partire dalla versione 17.3 VSTest supporta l'esecuzione di test destinati a più framework di destinazione alla volta. In precedenza, questo non era possibile a causa di una limitazione dal lato della piattaforma VSTest .

Se si vogliono eseguire test appartenenti a più framework di destinazione, è necessario installare una versione compatibile di VSTest tramite Il programma di installazione della piattaforma di test di Visual Studio e impostare su vsTestVersion per toolsInstaller usarlo.

Durante la pubblicazione del risultato del test, viene visualizzato questo errore: Impossibile pubblicare i risultati del test: Priorità non valida specificata?

Questo errore si verifica se uno dei metodi di test ha una priorità impostata sopra 255, correggere la priorità del metodo di test nel codice ed eseguire di nuovo i test. È possibile esaminare il file trx generato per visualizzare tutti i test con priorità maggiore di 255.

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Esecuzione in Agente, DeploymentGroup
Richieste Gli agenti self-hosted devono avere funzionalità che corrispondono alle richieste seguenti per eseguire processi che usano questa attività: vstest
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.103.0 o versione successiva
Categoria attività Test