VSTest@2 — zadanie testowe programu Visual Studio w wersji 2

To zadanie służy do uruchamiania testów jednostkowych i funkcjonalnych (Selenium, Appium, Coded UI test itp.) przy użyciu modułu uruchamiającego testy programu Visual Studio (VSTest). Możesz uruchamiać struktury testowe z adapterem testowym programu Visual Studio. Przykładowe struktury to MSTest, xUnit, NUnit, Chutzpah (dla testów JavaScript przy użyciu QUnit, Mocha i Jasmine) itp. Testy można rozpowszechniać na wielu agentach przy użyciu tego zadania.

Uwaga

VSTest@2 jest najnowszą wersją zadania i powinna być używana w potokach.

Składnia

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

Dane wejściowe

testSelector - Wybieranie testów przy użyciu
string. Wymagane. Dozwolone wartości: testAssemblies (Zestawy testowe), testPlan (plan testu), testRun (Przebieg testu). Wartość domyślna: testAssemblies.

  • Zestaw testowy: Określa co najmniej jeden zestaw testowy zawierający testy. Opcjonalnie można określić kryteria filtrowania, aby wybrać tylko określone testy.
  • Plan testu: Uruchamia testy z planu testu, z którą jest skojarzona metoda zautomatyzowanego testu. Aby dowiedzieć się więcej na temat kojarzenia testów z elementem roboczym przypadku testowego, zobacz Kojarzenie testów automatycznych z przypadkami testowymi.
  • Przebieg testu: Użyj tej opcji podczas konfigurowania środowiska do uruchamiania testów z planów testów. Tej opcji nie należy używać podczas uruchamiania testów w potoku ciągłej integracji/ciągłego wdrażania (CI/CD).

testAssemblyVer2 - Pliki testowe
string. Wymagane, gdy testSelector = testAssemblies. Wartość domyślna: **\bin\**\*test.dll\n**\bin\**\*tests.dll.

Uruchamia testy z określonych plików. Uporządkowane testy i testy internetowe można uruchomić, określając .orderedtest odpowiednio pliki i .webtest . Do uruchomienia jest wymagany program .webtestVisual Studio 2017 Update 4 lub nowszy. Ścieżki plików są względne względem folderu wyszukiwania. Te dane wejściowe obsługują wiele wierszy wzorców minimatch.

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

testAssemblyVer2 - Pliki testowe
string. Wymagane, gdy testSelector = testAssemblies. Wartość domyślna: **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**.

Uruchamia testy z określonych plików. Uporządkowane testy i testy internetowe można uruchomić, określając .orderedtest odpowiednio pliki i .webtest . Do uruchomienia jest wymagany program .webtestVisual Studio 2017 Update 4 lub nowszy. Ścieżki plików są względne względem folderu wyszukiwania. Te dane wejściowe obsługują wiele wierszy wzorców minimatch.

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

testPlan - Plan testu
string. Wymagane, gdy testSelector = testPlan.

Określa plan testów zawierający zestawy testów z automatycznymi przypadkami testowymi.


testSuite - Zestaw testów
string. Wymagane, gdy testSelector = testPlan.

Określa co najmniej jeden zestaw testów zawierający automatyczne przypadki testowe. Elementy robocze przypadku testowego muszą być skojarzone z metodą zautomatyzowanego testu.


testConfiguration - Konfiguracja testu
string. Wymagane, gdy testSelector = testPlan.

Określa konfigurację testu.


tcmTestRun - Przebieg testu
string. Opcjonalny. Użyj polecenia , gdy testSelector = testRun. Wartość domyślna: $(test.RunId).

Określa wybór oparty na przebiegu testu, który jest używany podczas wyzwalania przebiegów testów automatycznych z planów testów. Tej opcji nie można używać do uruchamiania testów w potoku ciągłej integracji/ciągłego wdrażania.


searchFolder - Folder wyszukiwania
string. Wymagane. Wartość domyślna: $(System.DefaultWorkingDirectory).

Określa folder do wyszukiwania zestawów testowych.


resultsFolder - Folder wyników testów
string. Wartość domyślna: $(Agent.TempDirectory)\TestResults.

Określa folder do przechowywania wyników testów. W przypadku korzystania z katalogu domyślnego jest on czyszczony na końcu uruchomienia potoku. Katalog wyników będzie zawsze czyszczony na początku vstest zadania przed uruchomieniem testów. Ścieżka folderu względnego, jeśli zostanie podana, zostanie uznana za względną wartość $(Agent.TempDirectory).


testFiltercriteria - Kryteria filtru testowego
string. Opcjonalny. Użyj polecenia , gdy testSelector = testAssemblies.

Określa dodatkowe kryteria filtrowania testów z zestawów testowych. Na przykład: Priority=1|Name=MyTestMethod. Dowiedz się więcej o opcjach wiersza polecenia.


runOnlyImpactedTests - Uruchamianie tylko testów, których dotyczy ten wpływ
boolean. Opcjonalny. Użyj polecenia , gdy testSelector = testAssemblies. Wartość domyślna: False.

Automatycznie określa i uruchamia testy wymagane do zweryfikowania zmiany kodu. Dowiedz się więcej o korzystaniu z analizy wpływu testu.


runAllTestsAfterXBuilds - Liczba kompilacji, po których należy uruchomić wszystkie testy
string. Opcjonalny. Użyj polecenia , gdy testSelector = testAssemblies && runOnlyImpactedTests = true. Wartość domyślna: 50.

Określa liczbę kompilacji do wykonania przed automatycznym uruchomieniem wszystkich testów. Test Impact Analysis przechowuje mapowanie między przypadkami testowymi i kodem źródłowym. Zaleca się ponowne wygenerowanie mapowania przez regularne uruchamianie wszystkich testów.


uiTests - Test mix zawiera testy interfejsu użytkownika
boolean. Wartość domyślna: false.

Aby uruchomić testy interfejsu użytkownika, upewnij się, że agent jest uruchomiony w trybie interaktywnymz włączonym logowaniem automatycznym. Przed kolejką kompilacji/wydania należy skonfigurować agenta do interaktywnego uruchamiania. Zaznaczenie tego pola nie powoduje automatycznego skonfigurowania agenta w trybie interaktywnym. Ta opcja służy jako przypomnienie, aby odpowiednio skonfigurować agenta, aby uniknąć błędów. Hostowani agenci systemu Windows z pul programu VS 2015 i 2017 mogą służyć do uruchamiania testów interfejsu użytkownika.


vstestLocationMethod - Wybieranie platformy testowej przy użyciu polecenia
string. Dozwolone wartości: version, location (określona lokalizacja). Wartość domyślna: version.

Określa, która platforma testowa ma być używana.


vsTestVersion - Wersja platformy testowej
string. Opcjonalny. Użyj polecenia , gdy vstestLocationMethod = version. Dozwolone wartości: latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (Zainstalowany przez Instalatora narzędzi). Wartość domyślna: latest.

Określa wersję testu programu Visual Studio do użycia. Jeśli określono najnowszą wersję, dane wejściowe wybierają najnowszą wersję (z listy dozwolonych wartości), która jest zainstalowana. Aby uruchomić testy bez konieczności korzystania z programu Visual Studio na agencie, użyj opcji Instalator zainstalowany przez narzędzia . Pamiętaj, aby uwzględnić zadanie Instalatora platformy testów programu Visual Studio w celu uzyskania platformy testowej z poziomu narzędzia NuGet.


vsTestVersion - Wersja platformy testowej
string. Opcjonalny. Użyj polecenia , gdy vstestLocationMethod = version. Dozwolone wartości: latest, 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (Zainstalowany przez Instalatora narzędzi). Wartość domyślna: latest.

Określa wersję testu programu Visual Studio do użycia. Jeśli określono najnowszą wersję, dane wejściowe wybierają najnowszą wersję (z listy dozwolonych wartości), która jest zainstalowana. Aby uruchomić testy bez konieczności korzystania z programu Visual Studio na agencie, użyj opcji Instalator zainstalowany przez narzędzia . Pamiętaj, aby uwzględnić zadanie Instalatora platformy testów programu Visual Studio w celu uzyskania platformy testowej z poziomu narzędzia NuGet.


vstestLocation - Ścieżka do vstest.console.exe
string. Opcjonalny. Użyj polecenia , gdy vstestLocationMethod = location.

Określa ścieżkę do narzędzia VSTest.


runSettingsFile - Plik ustawień
string.

Określa ścieżkę do runsettings pliku lub testsettings do użycia z testami. W przypadku programu Visual Studio 15.7 lub nowszego należy użyć runsettings dla wszystkich typów testów. Dowiedz się więcej na temat konwertowania .testsettings.runsettings pliku na plik.


overrideTestrunParameters - Zastępowanie parametrów przebiegu testu
string.

Zastępuje parametry zdefiniowane w TestRunParameters sekcji runsettings pliku lub Properties sekcji testsettings pliku. Na przykład: -key1 value1 -key2 value2. Uwaga: Dostęp do właściwości określonych w testsettings pliku można uzyskać za pośrednictwem TestContext programu Visual Studio 2017 (aktualizacja 4 lub nowsza).


pathtoCustomTestAdapters - Ścieżka do niestandardowych kart testowych
string.

Określa ścieżkę katalogu do niestandardowych kart testowych. Karty znajdujące się w tym samym folderze co zestawy testowe są automatycznie wykrywane.


runInParallel - Uruchamianie testów równolegle na maszynach wielordzeniowych
boolean. Wartość domyślna: False.

Jeśli ustawiono wartość true, testy są uruchamiane równolegle i wykorzystują dostępne rdzenie maszyny. Spowoduje to zastąpienie wartości MaxCpuCount , jeśli określono ją w runsettings pliku. Dowiedz się więcej na temat równoległego uruchamiania testów.


runTestsInIsolation - Uruchamianie testów w izolacji
boolean. Wartość domyślna: False.

Uruchamia testy w izolowanym procesie. Prawdopodobnie prowadzi to do mniejszej liczby błędów w procesie testowania vstest.console.exe, ale testy mogą działać wolniej. Ta opcja nie może być obecnie używana podczas uruchamiania z ustawieniem zadania z wieloma agentami.


codeCoverageEnabled - Włączone pokrycie kodu
boolean. Wartość domyślna: False.

Zbiera informacje o pokryciach kodu z przebiegu testu.


otherConsoleOptions - Inne opcje konsoli
string.

Inne opcje konsoli , które można przekazać do vstest.console.exe.

Te opcje nie są obsługiwane i będą ignorowane podczas uruchamiania testów przy użyciu równoległego ustawienia wieloaplikowego zadania agenta , podczas uruchamiania testów przy użyciu opcji Plan testu lub Przebieg testu lub po wybraniu niestandardowej opcji przetwarzania wsadowego. Zamiast tego można określić opcje przy użyciu pliku ustawień.


distributionBatchType - Testy wsadowe
string. Dozwolone wartości: basedOnTestCases (na podstawie liczby testów i agentów), basedOnExecutionTime (na podstawie wcześniejszego czasu wykonywania testów) basedOnAssembly (na podstawie zestawów testowych). Wartość domyślna: basedOnTestCases.

Partia to grupa testów. Partia testów uruchamia testy w tym samym czasie, a wyniki są publikowane dla partii. Jeśli zadanie, w którym jest uruchamiane zadanie, ma używać wielu agentów, każdy agent pobiera wszystkie dostępne partie testów do równoległego uruchamiania. Można uruchomić partię:

na podstawie liczby testów i agentów. Proste przetwarzanie wsadowe na podstawie liczby testów i agentów uczestniczących w przebiegu testu.

w oparciu o poprzedni czas wykonywania testów. To przetwarzanie wsadowe uwzględnia poprzedni czas wykonywania w celu utworzenia partii testów, w których każda partia ma w przybliżeniu równy czas wykonywania.

oparte na zestawach testowych. Testy z zestawu są wsadowe razem.


batchingBasedOnAgentsOption - Opcje wsadowe
string. Opcjonalny. Użyj polecenia , gdy distributionBatchType = basedOnTestCases. Dozwolone wartości: autoBatchSize (Automatycznie określ rozmiar partii) customBatchSize (Określ rozmiar partii). Wartość domyślna: autoBatchSize.

Określa proste przetwarzanie wsadowe na podstawie liczby testów i agentów uczestniczących w przebiegu testu. Gdy rozmiar partii zostanie automatycznie określony, każda partia zawiera (total number of tests / number of agents) testy. Jeśli zostanie określony rozmiar partii, każda partia będzie zawierać określoną liczbę testów.


customBatchSizeValue - Liczba testów na partię
string. Wymagane, gdy distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Wartość domyślna: 10.

Określa rozmiar partii.


batchingBasedOnExecutionTimeOption - Opcje wsadowe
string. Opcjonalny. Użyj polecenia , gdy distributionBatchType = basedOnExecutionTime. Dozwolone wartości: autoBatchSize (Automatycznie określ czas wsadowy) customTimeBatchSize (Określ czas wykonywania na partię). Wartość domyślna: autoBatchSize.

To przetwarzanie wsadowe uwzględnia wcześniejsze czasy działania w celu utworzenia partii testów, w których każda partia ma w przybliżeniu równy czas wykonywania. Testy szybkiego uruchamiania zostaną połączone wsadowo, podczas gdy dłuższe testy mogą należeć do oddzielnej partii. Jeśli ta opcja jest używana z ustawieniem zadania z wieloma agentami, łączny czas testu zostanie zmniejszony do minimum.


customRunTimePerBatchValue - Czas wykonywania (s) na partię
string. Wymagane, gdy distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Wartość domyślna: 60.

Określa czas wykonywania (w sekundach) na partię.


dontDistribute - Replikowanie testów zamiast dystrybucji, gdy w zadaniu jest używanych wielu agentów
boolean. Wartość domyślna: False.

Wybranie tej opcji nie spowoduje dystrybuowania testów między agentami, gdy zadanie jest uruchomione w zadaniu z wieloma agentami. Każdy z wybranych testów będzie powtarzany na każdym agencie. Ta opcja nie ma zastosowania, gdy zadanie agenta jest skonfigurowane do uruchamiania bez równoległości lub z opcją wielokonfiguracji.


dontDistribute - Nie dystrybuuj testów i replikuj zamiast tego, gdy w zadaniu jest używanych wielu agentów
boolean. Wartość domyślna: False.

Wybranie tej opcji nie spowoduje dystrybuowania testów między agentami, gdy zadanie jest uruchomione w zadaniu z wieloma agentami. Każdy z wybranych testów będzie powtarzany na każdym agencie. Ta opcja nie ma zastosowania, gdy zadanie agenta jest skonfigurowane do uruchamiania bez równoległości lub z opcją wielokonfiguracji.


testRunTitle - Tytuł przebiegu testu
string.

Określa nazwę przebiegu testu.


platform - Tworzenie platformy
string.

Określa platformę kompilacji, dla której mają być zgłaszane testy. Jeśli zdefiniowano zmienną dla platformy w zadaniu kompilacji, użyj tej zmiennej z danymi wejściowymi.


configuration - Konfiguracja kompilacji
string.

Określa konfigurację kompilacji, dla której mają być zgłaszane testy. Jeśli zdefiniowano zmienną konfiguracji w zadaniu kompilacji, użyj tej zmiennej z danymi wejściowymi.


publishRunAttachments - Przekazywanie załączników testów
boolean. Wartość domyślna: true.

Wyraża zgodę na załączniki na poziomie uruchamiania publikowania lub z tego poziomu.


failOnMinTestsNotRun - Nie można wykonać zadania, jeśli minimalna liczba testów nie zostanie uruchomiona.
boolean. Wartość domyślna: False.

Zadanie kończy się niepowodzeniem, jeśli minimalna liczba testów nie jest uruchamiana. Może to być przydatne, jeśli jakiekolwiek zmiany w danych wejściowych zadań lub zależności podstawowej karty testowej prowadzą do znalezienia tylko podzestawu żądanych testów.


minimumExpectedTests - Minimalna liczba testów
string. Opcjonalny. Użyj polecenia , gdy failOnMinTestsNotRun = true. Wartość domyślna: 1.

Określa minimalną liczbę testów do uruchomienia, aby zadanie zakończyło się pomyślnie. Łączna liczba wykonanych testów jest obliczana jako suma przekazanych, nieudanych i przerwanych testów.


diagnosticsEnabled - Zbieranie zaawansowanej diagnostyki w przypadku awarii katastrofanych
boolean. Wartość domyślna: false.

Zbiera dane diagnostyczne w celu rozwiązywania problemów z katastrofalnymi awariami, takimi jak awaria testowa. Po zaznaczeniu tej opcji jest generowany plik XML sekwencji i dołączany do przebiegu testowego. Plik sekwencji zawiera informacje o sekwencji, w której zostały uruchomione testy, więc można zidentyfikować potencjalny test winowajców.


diagnosticsEnabled - Zbieranie zaawansowanej diagnostyki w przypadku awarii katastrofanych
boolean. Wartość domyślna: True.

Zbiera dane diagnostyczne w celu rozwiązywania problemów z katastrofalnymi awariami, takimi jak awaria testowa. Po zaznaczeniu tej opcji jest generowany plik XML sekwencji i dołączany do przebiegu testowego. Plik sekwencji zawiera informacje o sekwencji, w której zostały uruchomione testy, więc można zidentyfikować potencjalny test winowajców.


collectDumpOn - Zbieranie zrzutu procesu i dołączanie do raportu przebiegu testu
string. Opcjonalny. Użyj polecenia , gdy diagnosticsEnabled = true. Dozwolone wartości: onAbortOnly (tylko w przypadku przerwania), always, never. Wartość domyślna: onAbortOnly.

Zbiera mini zrzut, którego można użyć do dalszej analizy.

  • onAbortOnly — mini zrzut zostanie zebrany tylko wtedy, gdy przebieg testu zostanie przerwany.
  • Zawsze — mini zrzut będzie zawsze zbierany niezależnie od tego, czy przebieg testu zakończy się, czy nie.
  • Nigdy — mini zrzut nie zostanie zebrany niezależnie od tego, czy przebieg testu zakończy się, czy nie.

rerunFailedTests - Ponowne uruchamianie testów zakończone niepowodzeniem
boolean. Wartość domyślna: False.

Uruchamia ponownie wszystkie testy zakończone niepowodzeniem, dopóki nie zostaną zakończone pomyślnie lub do momentu osiągnięcia maksymalnej liczby prób.


rerunType - Nie uruchamiaj ponownie, jeśli niepowodzenia testów przekraczają określony próg
string. Opcjonalny. Użyj polecenia , gdy rerunFailedTests = true. Dozwolone wartości: basedOnTestFailurePercentage (% niepowodzenia), basedOnTestFailureCount (liczba testów, które zakończyły się niepowodzeniem). Wartość domyślna: basedOnTestFailurePercentage.

Unika ponownego uruchamiania testów, gdy współczynnik awarii przekracza określony próg. Ma to zastosowanie, jeśli problemy ze środowiskiem prowadzą do ogromnych awarii. Można określić wartość procentową niepowodzeń lub liczbę testów zakończonych niepowodzeniem jako próg.


rerunFailedThreshold - Błąd %
string. Opcjonalny. Użyj polecenia , gdy rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. Wartość domyślna: 30.

Pozwala uniknąć ponownego uruchamiania testów, gdy wartość procentowa przypadków testowych, które zakończyły się niepowodzeniem, przekracza określony próg. Ma to zastosowanie, jeśli problemy ze środowiskiem prowadzą do ogromnych awarii.


rerunFailedTestCasesMaxLimit - Liczba testów, które zakończyły się niepowodzeniem
string. Opcjonalny. Użyj polecenia , gdy rerunFailedTests = true && rerunType = basedOnTestFailureCount. Wartość domyślna: 5.

Pozwala uniknąć ponownego uruchamiania testów, gdy liczba przypadków testowych zakończonych niepowodzeniem przekroczy określony limit. Ma to zastosowanie, jeśli problemy ze środowiskiem prowadzą do ogromnych awarii.


rerunMaxAttempts - Maksymalna liczba prób
string. Opcjonalny. Użyj polecenia , gdy rerunFailedTests = true. Wartość domyślna: 3.

Określa maksymalną liczbę ponownych prób próby zakończonych niepowodzeniem. Jeśli test zakończy się pomyślnie, zanim zostanie osiągnięta maksymalna liczba prób, nie zostanie ponownie uruchomiona.


Opcje sterowania zadania

Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.

Zmienne wyjściowe

Brak.

Uwagi

To zadanie służy do uruchamiania testów jednostkowych i funkcjonalnych (Selenium, Appium, Coded UI test itd.) przy użyciu modułu uruchamiającego testy programu Visual Studio. Oprócz testów opartych na narzędziu MSTest można również wykonywać struktury testowe z adapterem testowym programu Visual Studio, takie jak xUnit, NUnit lub Chutzpah.

Testy, które docelowa platforma .NET Core można wykonać, określając odpowiednią wartość platformy docelowej w pliku .runsettings.

Testy można rozpowszechniać na wielu agentach przy użyciu wersji 2 tego zadania. Aby uzyskać więcej informacji, zobacz Run tests in parallel using the Visual Studio Test task (Uruchamianie testów równoległych przy użyciu zadania testowego programu Visual Studio).

Sprawdzanie wymagań wstępnych

Jeśli używasz własnego agenta systemu Windows, należy zainstalować następujące wymagania wstępne:

Wymagania

Agent musi mieć następującą możliwość:

vstest

Zapotrzebowanie vstest można spełnić na dwa sposoby:

  1. Program Visual Studio jest zainstalowany na maszynie agenta.
  2. Za pomocą zadania Instalator platformy testowej programu Visual Studio w definicji potoku.

Jak mogę uruchomić testy używające usługi TestCase jako źródła danych?

Do uruchamiania testów automatycznych, które używają testowegocase jako źródła danych, potrzebne są następujące elementy:

  1. Na maszynie agenta musisz mieć program Visual Studio 2017.6 lub nowszy. Nie można użyć zadania Instalatora platformy testowej programu Visual Studio do uruchamiania testów używających przypadku testowego jako źródła danych.
  2. Twórca pat autoryzowany dla zakresu "Elementy robocze (pełne)".
  3. Dodaj bezpieczną zmienną kompilacji lub wydania o nazwie Test.TestCaseAccessToken z wartością ustawioną na token dostępu utworzony w poprzednim kroku.

Występują problemy podczas uruchamiania testów xUnit opartych na danych i NUnit z niektórymi opcjami zadań. Czy istnieją znane ograniczenia?

Testy oparte na danych korzystające z platform testowych xUnit i NUnit mają pewne znane ograniczenia i nie mogą być używane z następującymi opcjami zadań:

  1. Ponowne uruchamianie testów zakończyło się niepowodzeniem.
  2. Dystrybucja testów na wielu agentach i opcje dzielenia na partie.
  3. Analiza wpływu testu.

Powyższe ograniczenia są spowodowane tym, jak karty dla tych struktur testowych odnajdują i zgłaszają testy oparte na danych.

Czy zadanie VSTest obsługuje uruchamianie testów przeznaczonych dla wielu platform docelowych jednocześnie?

Tak, począwszy od wersji 17.3 VSTest obsługuje uruchamianie testów przeznaczonych dla wielu platform docelowych naraz. Wcześniej nie było to możliwe ze względu na ograniczenie po stronie platformy VSTest .

Jeśli chcesz uruchamiać testy należące do wielu platform docelowych, musisz zainstalować zgodną wersję narzędzia VSTest za pośrednictwem Instalatora platformy testowej programu Visual Studio i ustawić ją vsTestVersion tak, aby toolsInstaller była używana.

Podczas publikowania wyniku testu jest wyświetlany następujący błąd: Nie można opublikować wyników testu: określono nieprawidłowy priorytet?

Ten błąd występuje, jeśli którakolwiek z metod testowych ma priorytet ustawiony powyżej 255, napraw priorytet metody testowej w kodzie i ponownie wykonaj testy. Możesz przejrzeć wygenerowany plik trx, aby zobaczyć, że wszystkie testy mają priorytet większy niż 255.

Wymagania

Wymaganie Opis
Typy potoków YAML, kompilacja klasyczna, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Agenci hostowani samodzielnie muszą mieć możliwości zgodne z następującymi wymaganiami dotyczącymi uruchamiania zadań korzystających z tego zadania: vstest
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta 2.103.0 lub nowsza
Kategoria zadania Testowanie