Condividi tramite


VSTest@2 - Attività Test v2 di Visual Studio

Usare questa attività per eseguire unit test funzionali (Selenium, Appium, test codificati dell'interfaccia utente e così via) usando lo strumento di esecuzione 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à.

Nota

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

Sintassi

# Visual Studio Test v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: VSTest@2
  inputs:
  # Test selection
    testSelector: 'testAssemblies' # 'testAssemblies' | 'testPlan' | 'testRun'. Required. Select tests using. Default: testAssemblies.
    testAssemblyVer2: # string. Required when testSelector = testAssemblies. Test files. 
    #testPlan: # string. Required when testSelector = testPlan. Test plan. 
    #testSuite: # string. Required when testSelector = testPlan. Test suite. 
    #testConfiguration: # string. Required when testSelector = testPlan. Test configuration. 
    #tcmTestRun: '$(test.RunId)' # string. Optional. Use when testSelector = testRun. Test Run. Default: $(test.RunId).
    searchFolder: '$(System.DefaultWorkingDirectory)' # string. Required. Search folder. Default: $(System.DefaultWorkingDirectory).
    #resultsFolder: '$(Agent.TempDirectory)\TestResults' # string. Test results folder. Default: $(Agent.TempDirectory)\TestResults.
    #testFiltercriteria: # string. Optional. Use when testSelector = testAssemblies. Test filter criteria. 
    #runOnlyImpactedTests: False # boolean. Optional. Use when testSelector = testAssemblies. Run only impacted tests. Default: False.
    #runAllTestsAfterXBuilds: '50' # string. Optional. Use when testSelector = testAssemblies && runOnlyImpactedTests = true. Number of builds after which all tests should be run. Default: 50.
    #uiTests: false # boolean. Test mix contains UI tests. Default: false.
  # Execution options
    #vstestLocationMethod: 'version' # 'version' | 'location'. Select test platform using. Default: version.
    #vsTestVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | 'toolsInstaller'. Optional. Use when vstestLocationMethod = version. Test platform version. Default: latest.
    #vstestLocation: # string. Optional. Use when vstestLocationMethod = location. Path to vstest.console.exe. 
    #runSettingsFile: # string. Settings file. 
    #overrideTestrunParameters: # string. Override test run parameters. 
    #pathtoCustomTestAdapters: # string. Path to custom test adapters. 
    #runInParallel: False # boolean. Run tests in parallel on multi-core machines. Default: False.
    #runTestsInIsolation: False # boolean. Run tests in isolation. Default: False.
    #codeCoverageEnabled: False # boolean. Code coverage enabled. Default: False.
    #otherConsoleOptions: # string. Other console options. 
    #diagnosticsEnabled: false # boolean. Collect advanced diagnostics in case of catastrophic failures. Default: false.
    #collectDumpOn: 'onAbortOnly' # 'onAbortOnly' | 'always' | 'never'. Optional. Use when diagnosticsEnabled = true. Collect process dump and attach to test run report. Default: onAbortOnly.
    #rerunFailedTests: False # boolean. Rerun failed tests. Default: False.
    #rerunType: 'basedOnTestFailurePercentage' # 'basedOnTestFailurePercentage' | 'basedOnTestFailureCount'. Optional. Use when rerunFailedTests = true. Do not rerun if test failures exceed specified threshold. Default: basedOnTestFailurePercentage.
    #rerunFailedThreshold: '30' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. % failure. Default: 30.
    #rerunFailedTestCasesMaxLimit: '5' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailureCount. # of failed tests. Default: 5.
    #rerunMaxAttempts: '3' # string. Optional. Use when rerunFailedTests = true. Maximum # of attempts. Default: 3.
  # Advanced execution options
    #distributionBatchType: 'basedOnTestCases' # 'basedOnTestCases' | 'basedOnExecutionTime' | 'basedOnAssembly'. Batch tests. Default: basedOnTestCases.
    #batchingBasedOnAgentsOption: 'autoBatchSize' # 'autoBatchSize' | 'customBatchSize'. Optional. Use when distributionBatchType = basedOnTestCases. Batch options. Default: autoBatchSize.
    #customBatchSizeValue: '10' # string. Required when distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Number of tests per batch. Default: 10.
    #batchingBasedOnExecutionTimeOption: 'autoBatchSize' # 'autoBatchSize' | 'customTimeBatchSize'. Optional. Use when distributionBatchType = basedOnExecutionTime. Batch options. Default: autoBatchSize.
    #customRunTimePerBatchValue: '60' # string. Required when distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Running time (sec) per batch. Default: 60.
    #dontDistribute: False # boolean. Replicate tests instead of distributing when multiple agents are used in the job. Default: False.
  # Reporting options
    #testRunTitle: # string. Test run title. 
    #platform: # string. Build platform. 
    #configuration: # string. Build configuration. 
    #publishRunAttachments: true # boolean. Upload test attachments. Default: true.
    #failOnMinTestsNotRun: False # boolean. Fail the task if a minimum number of tests are not run. Default: False.
    #minimumExpectedTests: '1' # string. Optional. Use when failOnMinTestsNotRun = true. Minimum # of tests. Default: 1.
# Visual Studio Test v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: VSTest@2
  inputs:
  # Test selection
    testSelector: 'testAssemblies' # 'testAssemblies' | 'testPlan' | 'testRun'. Required. Select tests using. Default: testAssemblies.
    testAssemblyVer2: # string. Required when testSelector = testAssemblies. Test files. 
    #testPlan: # string. Required when testSelector = testPlan. Test plan. 
    #testSuite: # string. Required when testSelector = testPlan. Test suite. 
    #testConfiguration: # string. Required when testSelector = testPlan. Test configuration. 
    #tcmTestRun: '$(test.RunId)' # string. Optional. Use when testSelector = testRun. Test Run. Default: $(test.RunId).
    searchFolder: '$(System.DefaultWorkingDirectory)' # string. Required. Search folder. Default: $(System.DefaultWorkingDirectory).
    #resultsFolder: '$(Agent.TempDirectory)\TestResults' # string. Test results folder. Default: $(Agent.TempDirectory)\TestResults.
    #testFiltercriteria: # string. Optional. Use when testSelector = testAssemblies. Test filter criteria. 
    #runOnlyImpactedTests: False # boolean. Optional. Use when testSelector = testAssemblies. Run only impacted tests. Default: False.
    #runAllTestsAfterXBuilds: '50' # string. Optional. Use when testSelector = testAssemblies && runOnlyImpactedTests = true. Number of builds after which all tests should be run. Default: 50.
    #uiTests: false # boolean. Test mix contains UI tests. Default: false.
  # Execution options
    #vstestLocationMethod: 'version' # 'version' | 'location'. Select test platform using. Default: version.
    #vsTestVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | 'toolsInstaller'. Optional. Use when vstestLocationMethod = version. Test platform version. Default: latest.
    #vstestLocation: # string. Optional. Use when vstestLocationMethod = location. Path to vstest.console.exe. 
    #runSettingsFile: # string. Settings file. 
    #overrideTestrunParameters: # string. Override test run parameters. 
    #pathtoCustomTestAdapters: # string. Path to custom test adapters. 
    #runInParallel: False # boolean. Run tests in parallel on multi-core machines. Default: False.
    #runTestsInIsolation: False # boolean. Run tests in isolation. Default: False.
    #codeCoverageEnabled: False # boolean. Code coverage enabled. Default: False.
    #otherConsoleOptions: # string. Other console options. 
    #diagnosticsEnabled: false # boolean. Collect advanced diagnostics in case of catastrophic failures. Default: false.
    #collectDumpOn: 'onAbortOnly' # 'onAbortOnly' | 'always' | 'never'. Optional. Use when diagnosticsEnabled = true. Collect process dump and attach to test run report. Default: onAbortOnly.
    #rerunFailedTests: False # boolean. Rerun failed tests. Default: False.
    #rerunType: 'basedOnTestFailurePercentage' # 'basedOnTestFailurePercentage' | 'basedOnTestFailureCount'. Optional. Use when rerunFailedTests = true. Do not rerun if test failures exceed specified threshold. Default: basedOnTestFailurePercentage.
    #rerunFailedThreshold: '30' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. % failure. Default: 30.
    #rerunFailedTestCasesMaxLimit: '5' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailureCount. # of failed tests. Default: 5.
    #rerunMaxAttempts: '3' # string. Optional. Use when rerunFailedTests = true. Maximum # of attempts. Default: 3.
  # Advanced execution options
    #distributionBatchType: 'basedOnTestCases' # 'basedOnTestCases' | 'basedOnExecutionTime' | 'basedOnAssembly'. Batch tests. Default: basedOnTestCases.
    #batchingBasedOnAgentsOption: 'autoBatchSize' # 'autoBatchSize' | 'customBatchSize'. Optional. Use when distributionBatchType = basedOnTestCases. Batch options. Default: autoBatchSize.
    #customBatchSizeValue: '10' # string. Required when distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Number of tests per batch. Default: 10.
    #batchingBasedOnExecutionTimeOption: 'autoBatchSize' # 'autoBatchSize' | 'customTimeBatchSize'. Optional. Use when distributionBatchType = basedOnExecutionTime. Batch options. Default: autoBatchSize.
    #customRunTimePerBatchValue: '60' # string. Required when distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Running time (sec) per batch. Default: 60.
    #dontDistribute: False # boolean. Replicate tests instead of distributing when multiple agents are used in the job. Default: False.
  # Reporting options
    #testRunTitle: # string. Test run title. 
    #platform: # string. Build platform. 
    #configuration: # string. Build configuration. 
    #publishRunAttachments: true # boolean. Upload test attachments. Default: true.
    #failOnMinTestsNotRun: False # boolean. Fail the task if a minimum number of tests are not run. Default: False.
    #minimumExpectedTests: '1' # string. Optional. Use when failOnMinTestsNotRun = true. Minimum # of tests. Default: 1.

Ingressi dati

testSelector - Selezionare i test con
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 file .orderedtest 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 di 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 file .orderedtest 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 di 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 test
string. Obbligatorio quando testSelector = testPlan.

Specifica la configurazione di test.


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

Specifica la selezione basata sull'esecuzione dei test usata per attivare esecuzioni di test automatizzate da 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 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 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à vstest prima dell'esecuzione dei test. Il percorso della cartella relativo, se specificato, verrà considerato relativo a $(Agent.TempDirectory).


testFiltercriteria - Criteri di filtro di test
string. Opzionale. 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 i test interessati
boolean. Opzionale. Usare quando testSelector = testAssemblies. Valore predefinito: False

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


runAllTestsAfterXBuilds - Numero di compilazioni dopo le quali tutti i test devono essere eseguiti
string. Opzionale. 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 - 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 build/release. 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 vs 2015 e 2017 possono essere usati per eseguire test dell'interfaccia utente.


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

Specifica la piattaforma di test da usare.


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

Specifica la versione di Test di Visual Studio da usare. Se si specifica 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 Installata dal programma di installazione degli strumenti. Assicurarsi di includere l'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. Opzionale. Usare quando vstestLocationMethod = version. Valori consentiti: latest, 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (installato dal programma di installazione degli strumenti). Valore predefinito: latest

Specifica la versione di Test di Visual Studio da usare. Se si specifica 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 Installata dal programma di installazione degli strumenti. Assicurarsi di includere l'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. Opzionale. Usare quando vstestLocationMethod = location.

Specifica il percorso di VSTest.


runSettingsFile - file delle impostazioni
string.

Specifica il percorso di un file runsettings 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 su la conversione di un file di .testsettings in un file .runsettings.


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

Esegue l'override dei parametri definiti nella sezione TestRunParameters di un file runsettings o nella sezione Properties di un file testsettings. Ad esempio: -key1 value1 -key2 value2. Nota: è possibile accedere alle proprietà specificate in un file di testsettings tramite il TestContext tramite Visual Studio 2017 (aggiornamento 4 o versione successiva).


pathtoCustomTestAdapters - Percorso a adattatori di test personalizzati
string.

Specifica il percorso della directory per gli adattatori di test personalizzati. Gli adattatori che si trovano 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 del MaxCpuCount se specificato nel file runsettings. 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 informazioni sul 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 quando si eseguono test usando l'impostazione parallela multi-agente di di un processo dell'agente, quando si eseguono test usando il piano di test o opzione Esecuzione test oppure quando è selezionata un'opzione di invio in batch personalizzata. È possibile specificare le opzioni usando invece un file di impostazioni.


distributionBatchType - test batch
string. Valori consentiti: basedOnTestCases (in base al numero di test e agenti), basedOnExecutionTime (in base al tempo di esecuzione precedente dei test), basedOnAssembly (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 preleva tutti i batch disponibili di test da eseguire in parallelo. È possibile eseguire un batch:

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

in base al tempo trascorso di esecuzione dei test. Questo batch considera il tempo di esecuzione precedente per creare batch di test in cui ogni batch ha tempo di esecuzione approssimativamente uguale.

in base agli assembly di test. I test di un assembly vengono raggruppati in batch.


batchingBasedOnAgentsOption - opzioni batch
string. Opzionale. Usare quando distributionBatchType = basedOnTestCases. Valori consentiti: autoBatchSize (determina automaticamente le dimensioni del batch), customBatchSize (specificare le dimensioni del 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. Opzionale. Usare quando distributionBatchType = basedOnExecutionTime. Valori consentiti: autoBatchSize (determina automaticamente l'ora del batch), customTimeBatchSize (specificare il tempo 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 tempo di esecuzione approssimativamente uguale. I test a esecuzione rapida verranno raggruppati in batch, mentre i test con esecuzione più lunga possono appartenere a un batch separato. Quando questa opzione viene usata con l'impostazione del processo multi-agente, il tempo totale di test 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 anziché distribuirlo quando vengono usati più agenti nel processo
boolean. Valore predefinito: False

La scelta di questa opzione non distribuirà 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 multiconfigura.


testRunTitle - Titolo esecuzione test
string.

Specifica un nome per l'esecuzione del test.


platform - build platform
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 - di 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

Acconsente esplicitamente o non accetta 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

Non riesce l'attività se non viene eseguito un numero minimo di test. Ciò può essere utile se eventuali modifiche apportate agli input dell'attività o alle dipendenze dell'adattatore di test sottostante determinano solo un subset dei test desiderati da trovare.


minimumExpectedTests - numero minimo di test
string. Opzionale. 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 di colpevolezza.


collectDumpOn - Collect process dump and attach to test run report
string. Opzionale. Usare quando diagnosticsEnabled = true. Valori consentiti: onAbortOnly (solo su interruzione), always, never. Valore predefinito: onAbortOnly

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

  • onAbortOnly: un mini dump verrà raccolto solo quando l'esecuzione del test viene interrotta.
  • Sempre: verrà sempre raccolto un mini dump 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 test non superati
boolean. Valore predefinito: False

Riesegui tutti i test non superati fino al superamento o fino al raggiungimento del numero massimo di tentativi.


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

Evita di riesecuzione dei test quando la frequenza di errore supera la soglia specificata. Questo è applicabile se i problemi di ambiente generano errori di grandi dimensioni. È possibile specificare la percentuale di errori o il numero di test non superati come soglia.


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

Evita di riesecuzione dei test quando la percentuale di test case non superati supera la soglia specificata. Questo è applicabile se i problemi di ambiente generano errori di grandi dimensioni.


rerunFailedTestCasesMaxLimit - # di test non superati
string. Opzionale. 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. Questo è applicabile se i problemi di ambiente generano errori di grandi dimensioni.


rerunMaxAttempts - numero massimo di tentativi
string. Opzionale. 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 codificati dell'interfaccia utente e altro ancora) usando lo strumento di esecuzione di test di Visual Studio. Oltre 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 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 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 quanto segue:

  1. È necessario avere Visual Studio 2017.6 o versione successiva nel computer agente. Non è possibile usare l'attività Programma di installazione della piattaforma di test di Visual Studio per eseguire test che usano TestCase come origine dati.
  2. Creare 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 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. 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 a causa del 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, ciò non era possibile a causa di una limitazione del lato piattaforma VSTest.

Se si desidera eseguire test appartenenti a più framework di destinazione, è necessario installare una versione compatibile di VSTest tramite programma di installazione della piattaforma di test di Visual Studio e impostare vsTestVersion su toolsInstaller per 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
Viene eseguito in Agente, DeploymentGroup
richieste Gli agenti self-hosted devono avere funzionalità di che corrispondono ai seguenti richiedono di eseguire processi che usano questa attività: vstest
funzionalità di Questa attività non soddisfa alcuna richiesta di attività successive nel processo.
restrizioni dei comandi Qualunque
variabili impostabili Qualunque
Versione dell'agente 2.103.0 o versione successiva
Categoria attività Prova