Delen via


VSTest@2 - Visual Studio Test v2-taak

Gebruik deze taak om eenheids- en functionele tests (Selenium, Appium, Coded UI-test, enzovoort) uit te voeren met behulp van de Visual Studio Test -runner (VSTest). U kunt testframeworks uitvoeren met een Visual Studio-testadapter. Voorbeeldframeworks zijn MSTest, xUnit, NUnit, Chutzpah (voor JavaScript-tests met QUnit, Mocha en Jasmine), enzovoort. Tests kunnen worden gedistribueerd op meerdere agents met behulp van deze taak.

Notitie

VSTest@3 is de nieuwste versie van de taak en moet worden gebruikt in uw pijplijnen.

Syntaxis

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

Invoer

testSelector - Tests selecteren met behulp van
string. Verplicht. Toegestane waarden: testAssemblies (testassembly's), testPlan (testplan), testRun (testuitvoering). Standaardwaarde: testAssemblies.

  • testassembly: Geeft een of meer testassembly's op die uw tests bevatten. U kunt desgewenst een filtercriteria opgeven om alleen specifieke tests te selecteren.
  • testplan: voert tests uit vanuit uw testplan waaraan een geautomatiseerde testmethode is gekoppeld. Zie Geautomatiseerde tests koppelen aan testcasesvoor meer informatie over het koppelen van tests aan een testcasewerkitem.
  • Testuitvoering: Gebruik deze optie wanneer u een omgeving instelt om tests uit te voeren vanuit testplannen. Deze optie mag niet worden gebruikt bij het uitvoeren van tests in een CI/CD-pijplijn (continue integratie/continue implementatie).

testAssemblyVer2 - testbestanden
string. Vereist wanneer testSelector = testAssemblies. Standaardwaarde: **\bin\**\*test.dll\n**\bin\**\*tests.dll.

Voert tests uit vanaf de opgegeven bestanden. Geordende tests en webtests kunnen worden uitgevoerd door respectievelijk de bestanden .orderedtest en .webtest op te geven. Als u .webtestwilt uitvoeren, is Visual Studio 2017 Update 4 of hoger nodig. De bestandspaden zijn relatief ten opzichte van de zoekmap. Deze invoer ondersteunt meerdere regels van minimatchpatronen.

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

testAssemblyVer2 - testbestanden
string. Vereist wanneer testSelector = testAssemblies. Standaardwaarde: **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**.

Voert tests uit vanaf de opgegeven bestanden. Geordende tests en webtests kunnen worden uitgevoerd door respectievelijk de bestanden .orderedtest en .webtest op te geven. Als u .webtestwilt uitvoeren, is Visual Studio 2017 Update 4 of hoger nodig. De bestandspaden zijn relatief ten opzichte van de zoekmap. Deze invoer ondersteunt meerdere regels van minimatchpatronen.

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

testPlan - Testplan
string. Vereist wanneer testSelector = testPlan.

Hiermee geeft u een testplan met testsuites met geautomatiseerde testcases op.


testSuite - testpakket
string. Vereist wanneer testSelector = testPlan.

Hiermee geeft u een of meer testsuites met geautomatiseerde testcases op. Testcasewerkitems moeten worden gekoppeld aan een geautomatiseerde testmethode.


testConfiguration - configuratie testen
string. Vereist wanneer testSelector = testPlan.

Hiermee geeft u de testconfiguratie.


tcmTestRun - testuitvoering
string. Facultatief. Gebruiken wanneer testSelector = testRun. Standaardwaarde: $(test.RunId).

Hiermee geeft u de testuitvoeringsselectie op die wordt gebruikt bij het activeren van geautomatiseerde testuitvoeringen vanuit testplannen. Deze optie kan niet worden gebruikt voor het uitvoeren van tests in de CI/CD-pijplijn.


searchFolder - zoekmap
string. Verplicht. Standaardwaarde: $(System.DefaultWorkingDirectory).

Hiermee geeft u de map om te zoeken naar de testassembly's.


map resultsFolder - Testresultaten
string. Standaardwaarde: $(Agent.TempDirectory)\TestResults.

Hiermee geeft u de map voor het opslaan van testresultaten. Wanneer u de standaardmap gebruikt, wordt deze opgeschoond aan het einde van een pijplijnuitvoering. De map met resultaten wordt altijd opgeschoond aan het begin van de vstest taak voordat de tests worden uitgevoerd. Het relatieve mappad, indien opgegeven, wordt beschouwd als relatief ten opzichte van $(Agent.TempDirectory).


testFiltercriteria - Filtercriteria testen
string. Facultatief. Gebruiken wanneer testSelector = testAssemblies.

Hiermee geeft u aanvullende criteria voor het filteren van tests van testassembly's. Voorbeeld: Priority=1|Name=MyTestMethod. Meer informatie over opdrachtregelopties.


runOnlyImpactedTests - Alleen betrokken tests uitvoeren
boolean. Facultatief. Gebruiken wanneer testSelector = testAssemblies. Standaardwaarde: False.

Hiermee geeft u automatisch de tests op die nodig zijn om de codewijziging te valideren. Meer informatie over het gebruik van impactanalyse.


runAllTestsAfterXBuilds - aantal builds waarna alle tests moeten worden uitgevoerd
string. Facultatief. Gebruiken wanneer testSelector = testAssemblies && runOnlyImpactedTests = true. Standaardwaarde: 50.

Hiermee geeft u het aantal builds dat moet worden uitgevoerd voordat alle tests automatisch worden uitgevoerd. Test Impact Analysis slaat de toewijzing tussen testcases en broncode op. Het wordt aanbevolen om de toewijzing opnieuw te genereren door alle tests regelmatig uit te voeren.


uiTests - testmix bevat UI-tests
boolean. Standaardwaarde: false.

Als u UI-tests wilt uitvoeren, moet u ervoor zorgen dat de agent is ingesteld op uitvoering in interactieve modus met Autologon ingeschakeld. Het instellen van een agent die interactief moet worden uitgevoerd, moet worden uitgevoerd voordat u de build/release in de wachtrij zet. Als u dit selectievakje inschakelen, wordt de agent niet automatisch geconfigureerd in de interactieve modus. Deze optie fungeert als herinnering om de agent op de juiste manier te configureren om fouten te voorkomen. Gehoste Windows-agents uit de POOLS VS 2015 en 2017 kunnen worden gebruikt om UI-tests uit te voeren.


vstestLocationMethod - Testplatform selecteren met behulp van
string. Toegestane waarden: version, location (specifieke locatie). Standaardwaarde: version.

Hiermee geeft u op welk testplatform moet worden gebruikt.


vsTestVersion - platformversie testen
string. Facultatief. Gebruiken wanneer vstestLocationMethod = version. Toegestane waarden: latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (geïnstalleerd door hulpprogramma's). Standaardwaarde: latest.

Hiermee geeft u de versie van Visual Studio Test te gebruiken. Als meest recente is opgegeven, kiest deze invoer de meest recente versie (in de lijst met toegestane waarden) die is geïnstalleerd. Als u tests wilt uitvoeren zonder Visual Studio op de agent te hoeven gebruiken, gebruikt u de optie geïnstalleerd door hulpprogramma's. Zorg ervoor dat u de Visual Studio Test Platform Installer taak opneemt om het testplatform van NuGet te verkrijgen.


vsTestVersion - platformversie testen
string. Facultatief. Gebruiken wanneer vstestLocationMethod = version. Toegestane waarden: latest, 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (geïnstalleerd door hulpprogramma's). Standaardwaarde: latest.

Hiermee geeft u de versie van Visual Studio Test te gebruiken. Als meest recente is opgegeven, kiest deze invoer de meest recente versie (in de lijst met toegestane waarden) die is geïnstalleerd. Als u tests wilt uitvoeren zonder Visual Studio op de agent te hoeven gebruiken, gebruikt u de optie geïnstalleerd door hulpprogramma's. Zorg ervoor dat u de Visual Studio Test Platform Installer taak opneemt om het testplatform van NuGet te verkrijgen.


vstestLocation - pad naar vstest.console.exe
string. Facultatief. Gebruiken wanneer vstestLocationMethod = location.

Hiermee geeft u het pad naar VSTest.


runSettingsFile - bestand Instellingen
string.

Hiermee geeft u het pad naar een runsettings- of testsettings-bestand dat moet worden gebruikt met de tests. Gebruik voor Visual Studio 15.7 en hoger runsettings voor alle testtypen. Meer informatie over het converteren van een .testsettings bestand naar een .runsettings bestand.


overrideTestrunParameters - Testuitvoeringsparameters overschrijven
string.

Overschrijft de parameters die zijn gedefinieerd in de sectie TestRunParameters van een runsettings-bestand of de Properties sectie van een testsettings-bestand. Voorbeeld: -key1 value1 -key2 value2. Opmerking: eigenschappen die zijn opgegeven in een testsettings-bestand, kunnen worden geopend via de TestContext met Visual Studio 2017 (update 4 of hoger).


pathtoCustomTestAdapters - pad naar aangepaste testadapters
string.

Hiermee geeft u het pad naar aangepaste testadapters. Adapters die zich in dezelfde map bevinden als de testassembly's, worden automatisch gedetecteerd.


runInParallel - tests parallel uitvoeren op machines met meerdere kernen
boolean. Standaardwaarde: False.

Als deze optie is ingesteld op true, worden tests parallel uitgevoerd en worden beschikbare kernen van de machine gebruikt. Hiermee wordt de MaxCpuCount overschreven als deze is opgegeven in uw runsettings-bestand. Meer informatie over hoe tests parallel worden uitgevoerd.


runTestsInIsolation - tests in isolatie uitvoeren
boolean. Standaardwaarde: False.

Voert de tests uit in een geïsoleerd proces. Dit leidt waarschijnlijk tot minder fouten in het vstest.console.exe testproces, maar tests kunnen langzamer worden uitgevoerd. Deze optie kan momenteel niet worden gebruikt wanneer deze wordt uitgevoerd met de instelling voor meerdere agenttaken.


codeCoverageEnabled - codedekking ingeschakeld
boolean. Standaardwaarde: False.

Verzamelt informatie over de codedekking van de testuitvoering.


otherConsoleOptions - Andere consoleopties
string.

Andere consoleopties die kunnen worden doorgegeven aan vstest.console.exe.

Deze opties worden niet ondersteund en worden genegeerd bij het uitvoeren van tests met behulp van de multiagentparallel instelling van een agenttaak, wanneer tests worden uitgevoerd met behulp van het Testplan of testuitvoering optie, of wanneer er een aangepaste batchverwerkingsoptie is geselecteerd. De opties kunnen worden opgegeven met behulp van een instellingenbestand.


distributionBatchType - Batch-tests
string. Toegestane waarden: basedOnTestCases (op basis van het aantal tests en agents), basedOnExecutionTime (gebaseerd op de eerdere uitvoering van tests), basedOnAssembly (op basis van testassembly's). Standaardwaarde: basedOnTestCases.

Een batch is een groep tests. Een batch met tests voert de tests tegelijkertijd uit en de resultaten worden gepubliceerd voor de batch. Als de taak waarin de taak wordt uitgevoerd is ingesteld op het gebruik van meerdere agents, haalt elke agent alle beschikbare batches tests op die parallel moeten worden uitgevoerd. Een batch kan worden uitgevoerd:

gebaseerd op het aantal tests en agents. Eenvoudige batchverwerking op basis van het aantal tests en agents dat deelneemt aan de testuitvoering.

gebaseerd op de eerdere uitvoeringsduur van tests. Deze batchverwerking houdt rekening met de afgelopen uitvoeringstijd om batches van tests te maken waarbij elke batch ongeveer gelijke uitvoeringstijd heeft.

gebaseerd op testassembly's. Tests van een assembly worden samen gebatcheerd.


batchingBasedOnAgentsOption - Batch-opties
string. Facultatief. Gebruiken wanneer distributionBatchType = basedOnTestCases. Toegestane waarden: autoBatchSize (automatisch de batchgrootte bepalen), customBatchSize (geef een batchgrootte op). Standaardwaarde: autoBatchSize.

Hiermee geeft u eenvoudige batchverwerking op basis van het aantal tests en agents die deelnemen aan de testuitvoering. Wanneer de batchgrootte automatisch wordt bepaald, bevat elke batch (total number of tests / number of agents) tests. Als een batchgrootte is opgegeven, bevat elke batch het opgegeven aantal tests.


customBatchSizeValue - Aantal tests per batch-
string. Vereist wanneer distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Standaardwaarde: 10.

Hiermee geeft u de batchgrootte.


batchingBasedOnExecutionTimeOption - Batch-opties
string. Facultatief. Gebruiken wanneer distributionBatchType = basedOnExecutionTime. Toegestane waarden: autoBatchSize (automatisch de batchtijd bepalen), customTimeBatchSize (uitvoeringstijd per batch opgeven). Standaardwaarde: autoBatchSize.

Deze batchverwerking houdt rekening met eerdere uitvoeringstijden om batches van tests te maken waarbij elke batch ongeveer gelijke uitvoeringstijd heeft. Snel uitgevoerde tests worden samen gebatcheerd, terwijl langer uitgevoerde tests deel kunnen uitmaken van een afzonderlijke batch. Wanneer deze optie wordt gebruikt met de instelling voor meerdere agenttaken, wordt de totale testtijd tot een minimum beperkt.


customRunTimePerBatchValue - actieve tijd (sec) per batch
string. Vereist wanneer distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Standaardwaarde: 60.

Hiermee geeft u de actieve tijd (in seconden) per batch.


dontDistribute - Tests repliceren in plaats van te distribueren wanneer meerdere agents worden gebruikt in de taak
boolean. Standaardwaarde: False.

Als u deze optie kiest, worden tests niet verdeeld over agents wanneer de taak wordt uitgevoerd in een taak met meerdere agents. Elk van de geselecteerde test(en) wordt herhaald op elke agent. Deze optie is niet van toepassing wanneer de agenttaak is geconfigureerd voor uitvoering zonder parallelle uitvoering of met de optie voor meervoudige configuratie.


titel van testRunTitle - testuitvoering
string.

Hiermee geeft u een naam voor de testuitvoering.


platform - Platform bouwen
string.

Hiermee geeft u het buildplatform waarop de tests moeten worden gerapporteerd. Als u een variabele hebt gedefinieerd voor het platform in uw build-taak, gebruikt u deze met deze invoer.


configuration - buildconfiguratie
string.

Hiermee geeft u de buildconfiguratie op waarmee de tests moeten worden gerapporteerd. Als u een variabele hebt gedefinieerd voor de configuratie in uw buildtaak, gebruikt u deze met deze invoer.


publishRunAttachments - testbijlagen uploaden
boolean. Standaardwaarde: true.

Hiermee kunt u bijlagen op uitvoeringsniveau in- of uitschakelen.


failOnMinTestsNotRun - mislukt de taak als een minimum aantal tests niet wordt uitgevoerd.
boolean. Standaardwaarde: False.

Mislukt de taak als een minimum aantal tests niet wordt uitgevoerd. Dit kan handig zijn als wijzigingen in taakinvoer of onderliggende testadapterafhankelijkheden ertoe leiden dat alleen een subset van de gewenste tests wordt gevonden.


minimumExpectedTests - minimumaantal tests
string. Facultatief. Gebruiken wanneer failOnMinTestsNotRun = true. Standaardwaarde: 1.

Hiermee geeft u het minimum aantal tests op dat moet worden uitgevoerd om de taak te voltooien. De totale uitgevoerde tests worden berekend als de som van geslaagde, mislukte en afgebroken tests.


diagnosticsEnabled - Geavanceerde diagnostische gegevens verzamelen in geval van onherstelbare fouten
boolean. Standaardwaarde: false.

Verzamelt diagnostische gegevens om onherstelbare fouten op te lossen, zoals een testcrash. Wanneer deze optie is ingeschakeld, wordt er een XML-reeksbestand gegenereerd en gekoppeld aan de testuitvoering. Het reeksbestand bevat informatie over de reeks waarin de tests zijn uitgevoerd, zodat een potentiële schuldige test kan worden geïdentificeerd.


collectDumpOn - procesdump verzamelen en koppelen aan testuitvoeringsrapport
string. Facultatief. Gebruiken wanneer diagnosticsEnabled = true. Toegestane waarden: onAbortOnly (alleen bij afbreken), always, never. Standaardwaarde: onAbortOnly.

Verzamelt een minidump die kan worden gebruikt voor verdere analyse.

  • onAbortOnly : er wordt alleen een minidump verzameld wanneer de testuitvoering wordt afgebroken.
  • Altijd: er wordt altijd een minidump verzameld, ongeacht of de testuitvoering is voltooid of niet.
  • Nooit: er wordt geen minidump verzameld, ongeacht of de testuitvoering is voltooid of niet.

rerunFailedTests - Mislukte tests opnieuw uitvoeren
boolean. Standaardwaarde: False.

Voert mislukte tests opnieuw uit totdat ze zijn geslaagd of totdat het maximum aantal pogingen is bereikt.


rerunType - Niet opnieuw uitvoeren als testfouten de opgegeven drempelwaarde overschrijden
string. Facultatief. Gebruiken wanneer rerunFailedTests = true. Toegestane waarden: basedOnTestFailurePercentage (% fout), basedOnTestFailureCount (# van mislukte tests). Standaardwaarde: basedOnTestFailurePercentage.

Vermijd het opnieuw uitvoeren van tests wanneer de foutsnelheid de opgegeven drempelwaarde overschrijdt. Dit is van toepassing als omgevingsproblemen leiden tot enorme fouten. U kunt het percentage mislukte fouten of het aantal mislukte tests opgeven als drempelwaarde.


rerunFailedThreshold - % mislukte
string. Facultatief. Gebruiken wanneer rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. Standaardwaarde: 30.

Vermijd opnieuw uitvoeren van tests wanneer het percentage mislukte testcases de opgegeven drempelwaarde overschrijdt. Dit is van toepassing als omgevingsproblemen leiden tot enorme fouten.


rerunFailedTestCasesMaxLimit - aantal mislukte tests
string. Facultatief. Gebruiken wanneer rerunFailedTests = true && rerunType = basedOnTestFailureCount. Standaardwaarde: 5.

Vermijd het opnieuw uitvoeren van tests wanneer het aantal mislukte testcases de opgegeven limiet overschrijdt. Dit is van toepassing als omgevingsproblemen leiden tot enorme fouten.


rerunMaxAttempts - Maximum aantal pogingen
string. Facultatief. Gebruiken wanneer rerunFailedTests = true. Standaardwaarde: 3.

Hiermee geeft u het maximum aantal keren dat een mislukte test opnieuw moet worden geprobeerd. Als een test is geslaagd voordat het maximum aantal pogingen is bereikt, wordt deze niet opnieuw uitgevoerd.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Gebruik deze taak om eenheids- en functionele tests (Selenium, Appium, Coded UI-test en meer) uit te voeren met behulp van de Visual Studio Test-runner. Naast op MSTest gebaseerde tests kunnen testframeworks met een Visual Studio-testadapter ook worden uitgevoerd, zoals xUnit, NUnit of Chutzpah.

Test of het .NET Core-doelframework kan worden uitgevoerd door de juiste doelframeworkwaarde op te geven in het .runsettings-bestand.

Tests kunnen worden gedistribueerd op meerdere agents met versie 2 van deze taak. Zie Testtests parallel uitvoeren met behulp van de Visual Studio Test-taakvoor meer informatie.

Controleren van vereisten

Als u een zelf-hostende Windows-agent gebruikt, moet deze vereiste zijn geïnstalleerd:

Eisen

De agent moet de volgende mogelijkheid hebben:

vstest-

Aan de vstest-vraag kan op twee manieren worden voldaan:

  1. Visual Studio is geïnstalleerd op de agentcomputer.
  2. Met behulp van de visual Studio Test Platform Installer-taak in de pijplijndefinitie.

Hoe kan ik tests uitvoeren die TestCase als gegevensbron gebruiken?

Als u geautomatiseerde tests wilt uitvoeren die Gebruikmaken van TestCase als gegevensbron, hebt u het volgende nodig:

  1. U moet Visual Studio 2017.6 of hoger hebben op de agentcomputer. Visual Studio Test Platform Installer-taak kan niet worden gebruikt om tests uit te voeren die TestCase als gegevensbron gebruiken.
  2. Maak een PAT- die is geautoriseerd voor het bereik 'Werkitems (volledig)'.
  3. Voeg een beveiligde build- of releasevariabele met de naam Test.TestCaseAccessToken toe met de waarde die is ingesteld op de PAT die in de vorige stap is gemaakt.

Ik ondervind problemen bij het uitvoeren van gegevensgestuurde xUnit- en NUnit-tests met een aantal van de taakopties. Zijn er bekende beperkingen?

Gegevensgestuurde tests die gebruikmaken van xUnit- en NUnit-testframeworks hebben enkele bekende beperkingen en kunnen niet worden gebruikt met de volgende taakopties:

  1. Voer mislukte tests opnieuw uit.
  2. Tests distribueren op meerdere agents en batchopties.
  3. Impactanalyse testen.

De bovenstaande beperkingen zijn te danken aan de wijze waarop de adapters voor deze testframeworks gegevensgestuurde tests detecteren en rapporteren.

Ondersteunt de VSTest-taak het uitvoeren van tests die gericht zijn op meerdere doelframeworks tegelijk?

Ja, vanaf versie 17.3 VSTest worden uitgevoerde tests ondersteund die gericht zijn op meerdere doelframeworks tegelijk. Voorheen was dit niet mogelijk vanwege een beperking van het VSTest-platform kant.

Als u tests wilt uitvoeren die deel uitmaken van meerdere doelframeworks, moet u een compatibele versie van VSTest installeren via Visual Studio Test Platform Installer en vsTestVersion instellen op toolsInstaller om deze te gebruiken.

Tijdens het publiceren van het testresultaat wordt deze fout weergegeven: Kan testresultaten niet publiceren: Ongeldige prioriteit opgegeven?

Deze fout treedt op als een van de testmethoden prioriteit heeft ingesteld boven 255, lost u de prioriteit van de testmethode in de code op en voert u de tests opnieuw uit. U kunt het trx-bestand bekijken dat is gegenereerd om alle tests met een prioriteit van meer dan 255 te zien.

Vereisten

Voorwaarde Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
eisen Zelf-hostende agents moeten mogelijkheden hebben die overeenkomen met de volgende eisen om taken uit te voeren die deze taak gebruiken: vstest
mogelijkheden Deze taak voldoet niet aan de vereisten voor volgende taken in de taak.
opdrachtbeperkingen Welk dan ook
variabelen instellen Welk dan ook
Agentversie 2.103.0 of hoger
Taakcategorie Testen