VSTest@2 - Attività Test v2 di Visual Studio

Usare questa attività per eseguire unit test funzionali (Selenium, Appium, test codificato dell'interfaccia utente e così via) usando lo strumento di esecuzione di test di Visual Studio (VSTest). È possibile eseguire framework di test con un adattatore di test di Visual Studio. I framework di esempio sono MSTest, xUnit, NUnit, Chutzpah (per i test JavaScript che usano QUnit, Mocha e Jasmine) e così via. I test possono essere distribuiti su più agenti usando questa attività (versione 2).

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), testPlan (piano di test), testRun (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 a cui è associato un metodo di test automatizzato. Per altre informazioni su come associare i test a un elemento di lavoro del test case, vedere Associare test automatizzati ai test case.
  • Esecuzione test: Usare questa opzione quando si configura un ambiente per eseguire test dai piani di test. Questa opzione non deve essere usata quando si eseguono test in una pipeline di integrazione continua/distribuzione continua (CI/CD).

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

Esegue 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 Visual Studio 2017 Update 4 o versione successiva. 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 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 Visual Studio 2017 Update 4 o versione successiva. 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 gruppi di test con test case automatizzati.


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

Specifica uno o più gruppi 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 di test.


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

Specifica la selezione basata sull'esecuzione dei test utilizzata 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 Search
string. Obbligatorio. Valore predefinito: $(System.DefaultWorkingDirectory).

Specifica la cartella in cui cercare gli assembly di test.


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

Specifica la cartella in cui archiviare i risultati del 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 dei 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 ed esegue automaticamente i test necessari per convalidare la modifica del codice. Informazioni sull'uso dell'analisi dell'impatto dei test.


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

Specifica il numero di compilazioni da eseguire prima dell'esecuzione automatica di tutti i test. Test Impact Analysis archivia il mapping tra test case e codice sorgente. È consigliabile rigenerare il mapping eseguendo regolarmente tutti i test.


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 l'opzione Autologon abilitata. La configurazione di un agente per l'esecuzione interattiva deve essere eseguita prima di accodare la compilazione/versione. Se si seleziona questa casella, l'agente non viene configurato automaticamente in modalità interattiva. Questa opzione funge da promemoria per configurare l'agente in modo appropriato per evitare errori. Gli agenti Windows ospitati dai pool di VISUAL Studio 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 - Testare la versione della piattaforma
string. facoltativo. Usare quando vstestLocationMethod = version. Valori consentiti: latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), (Visual Studio 2017), 15.014.0 (Visual Studio 2015), toolsInstaller (Installato dal programma di installazione degli strumenti). Valore predefinito: latest.

Specifica la versione di Visual Studio Test da usare. Se viene specificata la versione più recente , 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.

Opta o fuori pubblicazione degli allegati a livello di esecuzione.


failOnMinTestsNotRun - Eseguire l'attività se non vengono eseguiti un numero minimo di test.
boolean. Valore predefinito: False.

Ha esito negativo sull'attività se non vengono eseguiti un numero minimo di test. Ciò può risultare utile se eventuali modifiche apportate agli input attività o alle dipendenze dell'adattatore di test sottostante comportano 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 per l'attività con esito positivo. I test totali eseguiti vengono calcolati come somma di test passati, non riusciti 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 un file XML della sequenza e collegato 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 di colpa.


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 un file XML della sequenza e collegato 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 di colpa.


collectDumpOn - Raccogliere il dump del processo e collegare il report di esecuzione del 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 usato per ulteriori analisi.

  • onAbortOnly : verrà raccolto un mini dump 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 - Riesegui test non riusciti
boolean. Valore predefinito: False.

Esegue nuovamente i test non riusciti fino a quando non superano o fino al raggiungimento del numero massimo di tentativi.


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

Evita di ripetere i test quando la frequenza di errore supera la soglia specificata. Ciò è applicabile se i problemi di ambiente comportano errori di grandi dimensioni. È possibile specificare la percentuale di errori o il numero di test non riusciti come soglia.


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

Evita di ripetere i test quando la percentuale di test case non riusciti supera la soglia specificata. Ciò è applicabile se i problemi di ambiente comportano errori di grandi dimensioni.


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

Evita di ripetere i test quando il numero di test case non riusciti supera il limite specificato. Ciò è applicabile se i problemi di ambiente comportano 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à nuovamente eseguito.


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 (Selenio, Appium, Test codificato dell'interfaccia utente e altro ancora) usando il runner di test di Visual Studio. Oltre ai test basati su MSTest, i framework di test con una scheda di test di Visual Studio possono essere eseguiti anche, 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 runsettings.

I test possono essere distribuiti in 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 è installato nel computer agente.
  2. Usando l'attività Programma di installazione della 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:

  1. È necessario disporre di Visual Studio 2017.6 o versione successiva nel computer dell'agente. L'attività Programma di installazione della piattaforma di test di Visual Studio non può essere usata per eseguire test che usano TestCase come origine dati.
  2. Creare un pat autorizzato per l'ambito "Elementi di lavoro (full)".
  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 di 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. Eseguire di nuovo test non riusciti.
  2. Distribuzione di test su più agenti e opzioni di batch.
  3. Analisi dell'impatto del 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. Prima di questo, non è stato possibile a causa di una limitazione dal lato della piattaforma VSTest .

Se si desidera eseguire test appartenenti a più framework di destinazione, è necessario installare una versione compatibile di VSTest tramite Visual Studio Test Platform Installer e impostare vsTestVersion su come toolsInstaller usarla.

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

Questo errore si verifica se uno dei metodi di test ha la 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
Viene eseguito 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