Freigeben über


VSTest@2 : Visual Studio Test v2-Aufgabe

Verwenden Sie diese Aufgabe, um Komponenten- und Funktionstests (Selenium, Appium, Test der programmierten UI usw.) mithilfe des Visual Studio Test (VSTest)-Runners auszuführen. Sie können Testframeworks ausführen, die über einen Visual Studio-Testadapter verfügen. Beispielframeworks sind MSTest, xUnit, NUnit, Chutzpah (für JavaScript-Tests mit QUnit, Mocha und Jasmine) usw. Tests können mithilfe dieser Aufgabe auf mehrere Agents verteilt werden.

Hinweis

VSTest@2 ist die neueste Version der Aufgabe und sollte in Ihren Pipelines verwendet werden.

Syntax

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

Eingaben

testSelector - Auswählen von Tests mit
string. Erforderlich. Zulässige Werte: testAssemblies (Testassemblys), testPlan (Testplan), testRun (Testlauf). Standardwert. testAssemblies.

  • Testassembly: Gibt eine oder mehrere Testassemblys an, die Ihre Tests enthalten. Sie können optional Filterkriterien angeben, um nur bestimmte Tests auszuwählen.
  • Testplan: Führt Tests aus Ihrem Testplan aus, denen eine automatisierte Testmethode zugeordnet ist. Weitere Informationen zum Zuordnen von Tests zu einem Arbeitselement für Testfälle finden Sie unter Zuordnen von automatisierten Tests zu Testfällen.
  • Testlauf: Verwenden Sie diese Option, wenn Sie eine Umgebung zum Ausführen von Tests aus Testplänen einrichten. Diese Option sollte nicht verwendet werden, wenn Tests in einer CI/CD-Pipeline (Continuous Integration/Continuous Deployment) ausgeführt werden.

testAssemblyVer2 - Testdateien
string. Erforderlich, wenn testSelector = testAssemblies. Standardwert. **\bin\**\*test.dll\n**\bin\**\*tests.dll.

Führt Tests aus den angegebenen Dateien aus. Geordnete Tests und Webtests können ausgeführt werden, indem die .orderedtest- und .webtest-Dateien angegeben werden. Für die Ausführung von .webtest ist Visual Studio 2017 Update 4 oder höher erforderlich. Die Dateipfade sind relativ zum Suchordner. Diese Eingabe unterstützt mehrere Zeilen von Minimatchmustern.

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

testAssemblyVer2 - Testdateien
string. Erforderlich, wenn testSelector = testAssemblies. Standardwert. **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**.

Führt Tests aus den angegebenen Dateien aus. Geordnete Tests und Webtests können ausgeführt werden, indem die .orderedtest- und .webtest-Dateien angegeben werden. Für die Ausführung von .webtest ist Visual Studio 2017 Update 4 oder höher erforderlich. Die Dateipfade sind relativ zum Suchordner. Diese Eingabe unterstützt mehrere Zeilen von Minimatchmustern.

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

testPlan - Testplan
string. Erforderlich, wenn testSelector = testPlan.

Gibt einen Testplan an, der Testsammlungen mit automatisierten Testfällen enthält.


testSuite - Testsammlung
string. Erforderlich, wenn testSelector = testPlan.

Gibt eine oder mehrere Testsammlungen an, die automatisierte Testfälle enthalten. Testfallarbeitselemente müssen einer automatisierten Testmethode zugeordnet sein.


testConfiguration - Testkonfiguration
string. Erforderlich, wenn testSelector = testPlan.

Gibt die Testkonfiguration an.


tcmTestRun - Testlauf
string. Optional. Verwenden Sie , wenn testSelector = testRun. Standardwert. $(test.RunId).

Gibt die testlaufbasierte Auswahl an, die beim Auslösen automatisierter Testläufe aus Testplänen verwendet wird. Diese Option kann nicht zum Ausführen von Tests in der CI/CD-Pipeline verwendet werden.


searchFolder - Suchordner
string. Erforderlich. Standardwert. $(System.DefaultWorkingDirectory).

Gibt den Ordner an, in dem nach den Testassemblys gesucht werden soll.


resultsFolder - Ordner "Testergebnisse"
string. Standardwert. $(Agent.TempDirectory)\TestResults.

Gibt den Ordner an, in dem Testergebnisse gespeichert werden sollen. Wenn Sie das Standardverzeichnis verwenden, wird es am Ende einer Pipelineausführung bereinigt. Das Ergebnisverzeichnis wird immer zu Beginn der vstest Aufgabe bereinigt, bevor die Tests ausgeführt werden. Der relative Ordnerpfad wird, sofern angegeben, relativ zu $(Agent.TempDirectory)betrachtet.


testFiltercriteria - Testfilterkriterien
string. Optional. Verwenden Sie , wenn testSelector = testAssemblies.

Gibt zusätzliche Kriterien zum Filtern von Tests aus Testassemblys an. Beispiel: Priority=1|Name=MyTestMethod. Erfahren Sie mehr über Befehlszeilenoptionen.


runOnlyImpactedTests - Ausführen nur betroffener Tests
boolean. Optional. Verwenden Sie , wenn testSelector = testAssemblies. Standardwert. False.

Gibt automatisch die Tests an, die zum Überprüfen der Codeänderung erforderlich sind, und führt sie aus. Erfahren Sie mehr über die Verwendung der Testauswirkungsanalyse.


runAllTestsAfterXBuilds - Anzahl der Builds, nach denen alle Tests ausgeführt werden sollen
string. Optional. Verwenden Sie , wenn testSelector = testAssemblies && runOnlyImpactedTests = true. Standardwert. 50.

Gibt die Anzahl der Builds an, die ausgeführt werden sollen, bevor alle Tests automatisch ausgeführt werden. Die Testwirkungsanalyse speichert die Zuordnung zwischen Testfällen und Quellcode. Es wird empfohlen, die Zuordnung erneut zu generieren, indem Sie regelmäßig alle Tests ausführen.


uiTests - Testmischung enthält Ui-Tests
boolean. Standardwert. false.

Stellen Sie zum Ausführen von Ui-Tests sicher, dass der Agent so festgelegt ist, dass er im interaktiven Modus mit aktivierter Autologon ausgeführt wird. Ein Agent muss für die interaktive Ausführung eingerichtet werden, bevor der Build/Release in die Warteschlange gestellt wird. Wenn Sie dieses Kontrollkästchen aktivieren, wird der Agent nicht automatisch im interaktiven Modus konfiguriert. Diese Option dient als Erinnerung, den Agent entsprechend zu konfigurieren, um Fehler zu vermeiden. Gehostete Windows-Agents aus den VS 2015- und 2017-Pools können zum Ausführen von UI-Tests verwendet werden.


vstestLocationMethod - Auswählen der Testplattform mit
string. Zulässige Werte: version, location (Spezifischer Speicherort). Standardwert. version.

Gibt an, welche Testplattform verwendet werden soll.


vsTestVersion - Testplattformversion
string. Optional. Verwenden Sie , wenn vstestLocationMethod = version. Zulässige Werte: latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (Vom Tools-Installer installiert). Standardwert. latest.

Gibt die zu verwendende Version von Visual Studio Test an. Wenn latest angegeben ist, wählt diese Eingabe die neueste Version (aus der Liste der zulässigen Werte) aus, die installiert ist. Um Tests auszuführen, ohne Visual Studio auf dem Agent zu benötigen, verwenden Sie die Installationsprogrammoption Installiert von Tools . Stellen Sie sicher, dass Sie den Visual Studio-Testplattform-Installer-Task einschließen, um die Testplattform von NuGet abzurufen.


vsTestVersion - Testplattformversion
string. Optional. Verwenden Sie , wenn vstestLocationMethod = version. Zulässige Werte: latest, 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (Vom Tools-Installer installiert). Standardwert. latest.

Gibt die zu verwendende Version von Visual Studio Test an. Wenn latest angegeben ist, wählt diese Eingabe die neueste Version (aus der Liste der zulässigen Werte) aus, die installiert ist. Um Tests auszuführen, ohne Visual Studio auf dem Agent zu benötigen, verwenden Sie die Installationsprogrammoption Installiert von Tools . Stellen Sie sicher, dass Sie den Visual Studio-Testplattform-Installer-Task einschließen, um die Testplattform von NuGet abzurufen.


vstestLocation - Pfad zu vstest.console.exe
string. Optional. Verwenden Sie , wenn vstestLocationMethod = location.

Gibt den Pfad zu VSTest an.


runSettingsFile - Einstellungsdatei
string.

Gibt den Pfad zu einer runsettings - oder testsettings -Datei an, die mit den Tests verwendet werden soll. Verwenden Sie runsettings für Visual Studio 15.7 und höher für alle Testtypen. Erfahren Sie mehr über das Konvertieren einer .testsettings Datei in eine .runsettings Datei.


overrideTestrunParameters - Überschreiben von Testlaufparametern
string.

Überschreibt die Parameter, die TestRunParameters im Abschnitt einer runsettings Datei oder im Properties Abschnitt einer testsettings Datei definiert sind. Beispiel: -key1 value1 -key2 value2. Hinweis: Auf die in einer testsettings Datei angegebenen Eigenschaften kann mithilfe von TestContext Visual Studio 2017 (Update 4 oder höher) zugegriffen werden.


pathtoCustomTestAdapters - Pfad zu benutzerdefinierten Testadaptern
string.

Gibt den Verzeichnispfad zu benutzerdefinierten Testadaptern an. Adapter, die sich im selben Ordner wie die Testassemblys befinden, werden automatisch ermittelt.


runInParallel - Paralleles Ausführen von Tests auf Computern mit mehreren Kernen
boolean. Standardwert. False.

Wenn diese Einstellung auf truefestgelegt ist, werden Tests parallel ausgeführt und nutzen die verfügbaren Kerne des Computers. Dadurch wird überschrieben, MaxCpuCount wenn in Ihrer runsettings Datei angegeben. Erfahren Sie mehr darüber, wie Tests parallel ausgeführt werden.


runTestsInIsolation - Isoliertes Ausführen von Tests
boolean. Standardwert. False.

Führt die Tests in einem isolierten Prozess aus. Dies führt wahrscheinlich zu weniger Fehlern im vstest.console.exe Testprozesses, tests werden jedoch möglicherweise langsamer ausgeführt. Diese Option kann derzeit nicht verwendet werden, wenn sie mit der Auftragseinstellung mit mehreren Agents ausgeführt wird.


codeCoverageEnabled - Code Coverage aktiviert
boolean. Standardwert. False.

Sammelt Code Coverage-Informationen aus dem Testlauf.


otherConsoleOptions - Andere Konsolenoptionen
string.

Andere Konsolenoptionen , die an vstest.console.exe übergeben werden können.

Diese Optionen werden nicht unterstützt und werden ignoriert, wenn Tests mit der Paralleleinstellung für mehrere Agent-Aufträge , beim Ausführen von Tests mit dem Testplan oder der Testausführungsoption oder bei Auswahl einer benutzerdefinierten Batchverarbeitungsoption ignoriert werden. Die Optionen können stattdessen mithilfe einer Einstellungsdatei angegeben werden.


distributionBatchType - Batchtests
string. Zulässige Werte: basedOnTestCases (Basierend auf der Anzahl von Tests und Agents), basedOnExecutionTime (Basierend auf der vergangenen Ausführungszeit von Tests), basedOnAssembly (Basierend auf Testassemblys). Standardwert. basedOnTestCases.

Ein Batch ist eine Gruppe von Tests. Ein Testbatch führt seine Tests gleichzeitig aus, und die Ergebnisse werden für den Batch veröffentlicht. Wenn der Auftrag, in dem die Aufgabe ausgeführt wird, auf die Verwendung mehrerer Agents festgelegt ist, übernimmt jeder Agent alle verfügbaren Testbatches, die parallel ausgeführt werden sollen. Ein Batch kann ausgeführt werden:

basierend auf der Anzahl der Tests und Agents. Einfache Batchverarbeitung basierend auf der Anzahl der Tests und Agents, die am Testlauf teilnehmen.

basierend auf der letzten Ausführungszeit von Tests. Bei dieser Batchverarbeitung wird die vergangene Laufzeit berücksichtigt, um Testbatches zu erstellen, bei denen jeder Batch ungefähr die gleiche Laufzeit hat.

basierend auf Testassemblys. Tests aus einer Assembly werden in einem Batch zusammengefasst.


batchingBasedOnAgentsOption - Batchoptionen
string. Optional. Verwenden Sie , wenn distributionBatchType = basedOnTestCases. Zulässige Werte: autoBatchSize (Automatisches Bestimmen der Batchgröße), customBatchSize (Geben Sie eine Batchgröße an). Standardwert. autoBatchSize.

Gibt eine einfache Batchverarbeitung basierend auf der Anzahl der Tests und Agents an, die am Testlauf teilnehmen. Wenn die Batchgröße automatisch bestimmt wird, enthält jeder Batch (total number of tests / number of agents) Tests. Wenn eine Batchgröße angegeben wird, enthält jeder Batch die angegebene Anzahl von Tests.


customBatchSizeValue - Anzahl der Tests pro Batch
string. Erforderlich, wenn distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Standardwert. 10.

Gibt die Batchgröße an.


batchingBasedOnExecutionTimeOption - Batchoptionen
string. Optional. Verwenden Sie , wenn distributionBatchType = basedOnExecutionTime. Zulässige Werte: autoBatchSize (Automatisches Bestimmen der Batchzeit), customTimeBatchSize (Geben Sie die Laufzeit pro Batch an). Standardwert. autoBatchSize.

Bei dieser Batchverarbeitung werden vergangene Laufzeiten berücksichtigt, um Testbatches zu erstellen, bei denen jeder Batch ungefähr die gleiche Laufzeit hat. Schnell ausgeführte Tests werden in einem Batch zusammengefasst, während Tests mit längerer Ausführung zu einem separaten Batch gehören können. Wenn diese Option mit der Einstellung "Auftrag mit mehreren Agents" verwendet wird, wird die Gesamttestzeit auf ein Minimum reduziert.


customRunTimePerBatchValue - Laufzeit (Sek.) pro Batch
string. Erforderlich, wenn distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Standardwert. 60.

Gibt die Laufzeit (in Sekunden) pro Batch an.


dontDistribute - Replizieren von Tests, anstatt zu verteilen, wenn mehrere Agents im Auftrag verwendet werden
boolean. Standardwert. False.

Wenn Sie diese Option auswählen, werden Tests nicht auf Agents verteilt, wenn die Aufgabe in einem Auftrag mit mehreren Agents ausgeführt wird. Jeder der ausgewählten Tests wird auf jedem Agent wiederholt. Diese Option ist nicht anwendbar, wenn der Agentauftrag für die Ausführung ohne Parallelität oder mit der Multikonfigurationsoption konfiguriert ist.


dontDistribute - Verteilen Sie keine Tests und replizieren Sie stattdessen, wenn mehrere Agents im Auftrag verwendet werden.
boolean. Standardwert. False.

Wenn Sie diese Option auswählen, werden Tests nicht auf Agents verteilt, wenn die Aufgabe in einem Auftrag mit mehreren Agents ausgeführt wird. Jeder der ausgewählten Tests wird auf jedem Agent wiederholt. Diese Option ist nicht anwendbar, wenn der Agentauftrag für die Ausführung ohne Parallelität oder mit der Multikonfigurationsoption konfiguriert ist.


testRunTitle - Titel der Testausführung
string.

Gibt einen Namen für die Testausführung an.


platform - Buildplattform
string.

Gibt die Buildplattform an, für die die Tests gemeldet werden sollen. Wenn Sie in Ihrer Buildaufgabe eine Variable für die Plattform definiert haben, verwenden Sie diese mit dieser Eingabe.


configuration - Buildkonfiguration
string.

Gibt die Buildkonfiguration an, für die die Tests gemeldet werden sollen. Wenn Sie eine Variable für die Konfiguration in Ihrem Buildtask definiert haben, verwenden Sie diese mit dieser Eingabe.


publishRunAttachments - Hochladen von Testanlagen
boolean. Standardwert. true.

Die Veröffentlichung von Anlagen auf Ausführungsebene wird aktiviert oder deaktiviert.


failOnMinTestsNotRun - Führen Sie einen Fehler für den Task aus, wenn eine Mindestanzahl von Tests nicht ausgeführt wird.
boolean. Standardwert. False.

Schlägt die Aufgabe fehl, wenn eine Mindestanzahl von Tests nicht ausgeführt wird. Dies kann nützlich sein, wenn Änderungen an Aufgabeneingaben oder zugrunde liegenden Testadapterabhängigkeiten dazu führen, dass nur eine Teilmenge der gewünschten Tests gefunden wird.


minimumExpectedTests - Mindestanzahl von Tests
string. Optional. Verwenden Sie , wenn failOnMinTestsNotRun = true. Standardwert. 1.

Gibt die Mindestanzahl von Tests an, die ausgeführt werden müssen, damit die Aufgabe erfolgreich ausgeführt werden kann. Die Gesamtanzahl der ausgeführten Tests wird als Summe der bestandenen, fehlgeschlagenen und abgebrochenen Tests berechnet.


diagnosticsEnabled - Sammeln von erweiterten Diagnose bei schwerwiegenden Fehlern
boolean. Standardwert. false.

Sammelt Diagnosedaten, um schwerwiegende Fehler zu beheben, z. B. einen Testabsturz. Wenn diese Option aktiviert ist, wird eine XML-Sequenzdatei generiert und der Testausführung angefügt. Die Sequenzdatei enthält Informationen über die Sequenz, in der die Tests ausgeführt wurden, sodass ein potenzieller Tätertest identifiziert werden kann.


diagnosticsEnabled - Sammeln von erweiterten Diagnose bei schwerwiegenden Fehlern
boolean. Standardwert. True.

Sammelt Diagnosedaten, um schwerwiegende Fehler zu beheben, z. B. einen Testabsturz. Wenn diese Option aktiviert ist, wird eine XML-Sequenzdatei generiert und der Testausführung angefügt. Die Sequenzdatei enthält Informationen über die Sequenz, in der die Tests ausgeführt wurden, sodass ein potenzieller Tätertest identifiziert werden kann.


collectDumpOn - Erfassen des Prozessabbilds und Anfügen an testausführungsbericht
string. Optional. Verwenden Sie , wenn diagnosticsEnabled = true. Zulässige Werte: onAbortOnly (Nur bei Abbruch), always, never. Standardwert. onAbortOnly.

Erfasst ein Minidump, das für die weitere Analyse verwendet werden kann.

  • onAbortOnly : Ein Minidump wird nur gesammelt, wenn die Testausführung abgebrochen wird.
  • Immer : Ein Miniabbild wird immer erfasst, unabhängig davon, ob der Testlauf abgeschlossen ist oder nicht.
  • Nie : Ein Minidump wird unabhängig davon, ob der Testlauf abgeschlossen ist oder nicht, nicht erfasst.

rerunFailedTests - Erneutes Ausführen fehlgeschlagener Tests
boolean. Standardwert. False.

Führt alle fehlgeschlagenen Tests erneut aus, bis sie bestehen oder bis die maximale Anzahl von Versuchen erreicht ist.


rerunType - Nicht erneut ausführen, wenn Testfehler den angegebenen Schwellenwert überschreiten
string. Optional. Verwenden Sie , wenn rerunFailedTests = true. Zulässige Werte: basedOnTestFailurePercentage (% Fehler), basedOnTestFailureCount (Anzahl fehlgeschlagener Tests). Standardwert. basedOnTestFailurePercentage.

Es wird vermieden, dass Tests erneut ausgeführt werden, wenn die Fehlerrate den angegebenen Schwellenwert überschreitet. Dies gilt, wenn Umgebungsprobleme zu massiven Fehlern führen. Sie können den Prozentsatz der Fehler oder die Anzahl der fehlgeschlagenen Tests als Schwellenwert angeben.


rerunFailedThreshold - Fehler in %
string. Optional. Verwenden Sie , wenn rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. Standardwert. 30.

Es wird vermieden, dass Tests erneut ausgeführt werden, wenn der Prozentsatz der fehlgeschlagenen Testfälle den angegebenen Schwellenwert überschreitet. Dies gilt, wenn Umgebungsprobleme zu massiven Fehlern führen.


rerunFailedTestCasesMaxLimit - Anzahl fehlgeschlagener Tests
string. Optional. Verwenden Sie , wenn rerunFailedTests = true && rerunType = basedOnTestFailureCount. Standardwert. 5.

Es wird vermieden, dass Tests erneut ausgeführt werden, wenn die Anzahl der fehlgeschlagenen Testfälle den angegebenen Grenzwert überschreitet. Dies gilt, wenn Umgebungsprobleme zu massiven Fehlern führen.


rerunMaxAttempts - Maximale Anzahl von Versuchen
string. Optional. Verwenden Sie , wenn rerunFailedTests = true. Standardwert. 3.

Gibt an, wie oft ein fehlerhafter Test maximal wiederholt werden soll. Wenn ein Test erfolgreich ist, bevor die maximale Anzahl von Versuchen erreicht wird, wird er nicht erneut ausgeführt.


Optionen für die Vorgangskontrolle

Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Keine.

Hinweise

Verwenden Sie diese Aufgabe, um Komponenten- und Funktionstests (Selenium, Appium, Test der programmierten UI usw.) mithilfe des Visual Studio-Test-Runners auszuführen. Neben MSTest-basierten Tests können auch Testframeworks ausgeführt werden, die über einen Visual Studio-Testadapter verfügen, z. B. xUnit, NUnit oder Chutzpah.

Es wird getestet, ob das .NET Core-Framework ausgeführt werden kann, indem der entsprechende Zielframeworkwert in der RUNSETTINGS-Datei angegeben wird.

Tests können mithilfe von Version 2 dieser Aufgabe auf mehrere Agents verteilt werden. Weitere Informationen finden Sie unter Paralleles Ausführen von Tests mit der Visual Studio Test-Aufgabe.

Überprüfen der Voraussetzungen

Wenn Sie einen selbstgehosteten Windows-Agent verwenden, muss diese Voraussetzung installiert sein:

Forderungen

Der Agent muss über die folgenden Funktionen verfügen:

vstest

Die vstest-Forderung kann auf zwei Arten erfüllt werden:

  1. Visual Studio ist auf dem Agent-Computer installiert.
  2. Mithilfe der „Installer für die Visual Studio-Testplattform“-Aufgabe in der Pipelinedefinition.

Wie kann ich Tests ausführen, die TestCase als Datenquelle verwenden?

Zum Ausführen automatisierter Tests, die TestCase als Datenquelle verwenden, ist Folgendes erforderlich:

  1. Auf dem Agent-Computer muss Visual Studio 2017.6 oder höher installiert sein. Die „Installer für die Visual Studio-Testplattform“-Aufgabe kann nicht zum Ausführen von Tests verwendet werden, die TestCase als Datenquelle verwenden.
  2. Erstellen Sie ein PAT, das für den Bereich „Arbeitselemente (vollständig)“ autorisiert ist.
  3. Fügen Sie eine sichere Build- oder Releasevariable namens Test.TestCaseAccessToken hinzu, deren Wert auf die im vorherigen Schritt erstellte PAT festgelegt ist.

Beim Ausführen von datengesteuerten xUnit- und NUnit-Tests mit einigen Aufgabenoptionen treten Probleme auf. Gibt es bekannte Einschränkungen?

Bei datengesteuerten Tests, die xUnit- und NUnit-Testframeworks verwenden, treten einige bekannte Einschränkungen auf, und sie können nicht mit den folgenden Aufgabenoptionen verwendet werden:

  1. Fehlerhafte Tests erneut ausführen.
  2. Verteilen von Tests auf mehrere Agents und Batchingoptionen.
  3. Testauswirkungsanalyse.

Die oben genannten Einschränkungen sind darauf zurückzuführen, wie die Adapter für diese Testframeworks datengesteuerte Tests ermitteln und melden.

Unterstützt der VSTest-Task die Ausführung von Tests, die auf mehrere Zielframeworks gleichzeitig abzielen?

Ja, ab Version 17.3 unterstützt VSTest die Ausführung von Tests, die auf mehrere Zielframeworks gleichzeitig abzielen. Zuvor war dies aufgrund einer Einschränkung der VSTest-Plattformseite nicht möglich.

Wenn Sie Tests ausführen möchten, die zu mehreren Zielframeworks gehören, müssen Sie eine kompatible Version von VSTest über den Visual Studio Test Platform Installer installieren und auf toolsInstaller festlegenvsTestVersion, um sie zu verwenden.

Erhalten Sie beim Veröffentlichen des Testergebnisses folgende Fehlermeldung: Fehler beim Veröffentlichen von Testergebnissen: Ungültige Priorität angegeben?

Dieser Fehler tritt auf, wenn für eine der Testmethoden die Priorität über 255 festgelegt ist, die Testmethodenpriorität im Code korrigiert und die Tests erneut ausgeführt werden. Sie können die generierte trx-Datei überprüfen, um zu sehen, dass alle Tests die Priorität größer als 255 haben.

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassisches Release
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Selbstgehostete Agents müssen über Funktionen verfügen, die den folgenden Anforderungen entsprechen, um Aufträge auszuführen, die diese Aufgabe verwenden: vstest
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Setzbare Variablen Any
Agent-Version 2.103.0 oder höher
Aufgabenkategorie Testen