Поделиться через


VSTest@2 — задача "Тестирование Visual Studio" версии 2

Используйте эту задачу для выполнения модульных и функциональных тестов (Selenium, Appium, закодированных тестов пользовательского интерфейса и т. д.) с помощью средства выполнения тестов Visual Studio (VSTest). Вы можете запускать платформы тестирования с адаптером тестирования Visual Studio. Примеры платформ: MSTest, xUnit, NUnit, Chutzpah (для тестов JavaScript с использованием QUnit, Mocha и Jasmine) и т. д. С помощью этой задачи тесты можно распределить на нескольких агентах.

Примечание

VSTest@2 является новейшей версией задачи и должна использоваться в конвейерах.

Синтаксис

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

Входные данные

testSelector - Выбор тестов с помощью
string. Обязательный. Допустимые значения: testAssemblies (Тестовые сборки), testPlan (План тестирования), testRun (Тестовый запуск). Значение по умолчанию: testAssemblies.

  • Тестовая сборка: Указывает одну или несколько тестовых сборок, содержащих тесты. При необходимости можно указать критерии фильтра, чтобы выбрать только определенные тесты.
  • План тестирования: Выполняет тесты из плана тестирования, с которым связан автоматизированный метод тестирования. Дополнительные сведения о том, как связать тесты с рабочим элементом тестового случая, см. в статье Связывание автоматических тестов с тест-случаями.
  • Тестовый запуск: Используйте этот параметр при настройке среды для выполнения тестов из планов тестирования. Этот параметр не следует использовать при выполнении тестов в конвейере непрерывной интеграции или непрерывного развертывания (CI/CD).

testAssemblyVer2 - Тестовые файлы
string. Требуется при .testSelector = testAssemblies Значение по умолчанию: **\bin\**\*test.dll\n**\bin\**\*tests.dll.

Выполняет тесты из указанных файлов. Упорядоченные тесты и веб-тесты можно выполнить, указав .orderedtest файлы и .webtest соответственно. Для запуска .webtestтребуется Visual Studio 2017 с обновлением 4 или более поздней версии. Пути к файлам относятся к папке поиска. Этот вход поддерживает несколько линий шаблонов мини-сопоставления.

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

testAssemblyVer2 - Тестовые файлы
string. Требуется при .testSelector = testAssemblies Значение по умолчанию: **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**.

Выполняет тесты из указанных файлов. Упорядоченные тесты и веб-тесты можно выполнить, указав .orderedtest файлы и .webtest соответственно. Для запуска .webtestтребуется Visual Studio 2017 с обновлением 4 или более поздней версии. Пути к файлам относятся к папке поиска. Этот вход поддерживает несколько линий шаблонов мини-сопоставления.

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

testPlan - План тестирования
string. Требуется при .testSelector = testPlan

Указывает план тестирования, содержащий наборы тестов с автоматическими тест-случаями.


testSuite - Набор тестов
string. Требуется при .testSelector = testPlan

Указывает один или несколько наборов тестов, содержащих автоматические тестовые случаи. Рабочие элементы тестового случая должны быть связаны с автоматизированным методом тестирования.


testConfiguration - Конфигурация теста
string. Требуется при .testSelector = testPlan

Указывает конфигурацию теста.


tcmTestRun - Тестовый запуск
string. Необязательный элемент. Используйте при testSelector = testRun. Значение по умолчанию: $(test.RunId).

Указывает выбор на основе тестового запуска, который используется при активации автоматических тестовых запусков из планов тестирования. Этот параметр нельзя использовать для выполнения тестов в конвейере CI/CD.


searchFolder - Папка поиска
string. Обязательный. Значение по умолчанию: $(System.DefaultWorkingDirectory).

Указывает папку для поиска тестовых сборок.


resultsFolder - Папка результатов теста
string. Значение по умолчанию: $(Agent.TempDirectory)\TestResults.

Указывает папку для хранения результатов тестирования. При использовании каталога по умолчанию он очищается в конце выполнения конвейера. Каталог результатов всегда очищается в начале vstest задачи перед выполнением тестов. Относительный путь к папке, если он указан, будет рассматриваться относительно $(Agent.TempDirectory).


testFiltercriteria - Критерии тестового фильтра
string. Необязательный элемент. Используйте при testSelector = testAssemblies.

Задает дополнительные критерии для фильтрации тестов из тестовых сборок. Например: Priority=1|Name=MyTestMethod. Сведения о параметрах командной строки.


runOnlyImpactedTests - Выполнение только затронутых тестов
boolean. Необязательный элемент. Используйте при testSelector = testAssemblies. Значение по умолчанию: False.

Автоматически задает и запускает тесты, необходимые для проверки изменения кода. Узнайте об использовании анализа влияния на тесты.


runAllTestsAfterXBuilds - Количество сборок, после которых должны выполняться все тесты
string. Необязательный элемент. Используйте при testSelector = testAssemblies && runOnlyImpactedTests = true. Значение по умолчанию: 50.

Указывает количество сборок, выполняемых перед автоматическим запуском всех тестов. Анализ влияния на тест хранит сопоставление тестовых случаев и исходного кода. Рекомендуется повторно создать сопоставление, регулярно выполняя все тесты.


uiTests - Тестовый набор содержит тесты пользовательского интерфейса
boolean. Значение по умолчанию: false.

Чтобы запустить тесты пользовательского интерфейса, убедитесь, что агент настроен на запуск в интерактивном режиме с включенным автозапуском . Настройка агента для интерактивного запуска должна быть выполнена перед постановкой в очередь сборки или выпуска. Установка этого флажка не настраивает агент в интерактивном режиме автоматически. Этот параметр служит напоминанием о необходимости правильной настройки агента, чтобы избежать сбоев. Размещенные агенты Windows из пулов VS 2015 и 2017 можно использовать для выполнения тестов пользовательского интерфейса.


vstestLocationMethod - Выбор тестовой платформы с помощью
string. Допустимые значения: version, location (определенное расположение). Значение по умолчанию: version.

Указывает используемую тестовую платформу.


vsTestVersion - Версия тестовой платформы
string. Необязательный элемент. Используйте при vstestLocationMethod = version. Допустимые значения: latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (устанавливается установщиком инструментов). Значение по умолчанию: latest.

Указывает используемую версию Visual Studio Test. Если указан параметр latest , этот вход выбирает последнюю версию (из списка разрешенных значений), которая установлена. Чтобы выполнять тесты без необходимости использования Visual Studio в агенте, используйте параметр установщика Установленные средствами . Не забудьте включить задачу Visual Studio Test Platform Installer , чтобы получить тестовую платформу из NuGet.


vsTestVersion - Версия тестовой платформы
string. Необязательный элемент. Используйте при vstestLocationMethod = version. Допустимые значения: latest, 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (устанавливается установщиком инструментов). Значение по умолчанию: latest.

Указывает используемую версию Visual Studio Test. Если указан параметр latest , этот вход выбирает последнюю версию (из списка разрешенных значений), которая установлена. Чтобы выполнять тесты без необходимости использования Visual Studio в агенте, используйте параметр установщика Установленные средствами . Не забудьте включить задачу Visual Studio Test Platform Installer , чтобы получить тестовую платформу из NuGet.


vstestLocation - Путь к vstest.console.exe
string. Необязательный элемент. Используйте при vstestLocationMethod = location.

Указывает путь к VSTest.


runSettingsFile - Файл параметров
string.

Указывает путь к файлу runsettings или testsettings для использования с тестами. Для Visual Studio 15.7 и более поздних версий используйте runsettings для всех типов тестов. Дополнительные сведения о преобразовании .testsettings файла в .runsettings файл.


overrideTestrunParameters - Переопределение параметров тестового запуска
string.

Переопределяет параметры, определенные в TestRunParameters разделе runsettings файла или Properties в разделе testsettings файла. Например: -key1 value1 -key2 value2. Примечание: Доступ к свойствам, testsettings указанным в файле, можно получить через TestContext с помощью Visual Studio 2017 (обновление 4 или более поздней версии).


pathtoCustomTestAdapters - Путь к пользовательским адаптерам тестирования
string.

Указывает путь к каталогу пользовательских адаптеров тестирования. Адаптеры, находящиеся в той же папке, что и тестовые сборки, обнаруживаются автоматически.


runInParallel - Параллельное выполнение тестов на многоядерных компьютерах
boolean. Значение по умолчанию: False.

Если задано значение true, тесты выполняются параллельно и используют доступные ядра компьютера. Это переопределит параметр , MaxCpuCount если он указан в файле runsettings . Узнайте больше о параллельном выполнении тестов.


runTestsInIsolation - Выполнение тестов в изоляции
boolean. Значение по умолчанию: False.

Запуск тестов в изолированном процессе. Это, скорее всего, приведет к уменьшению количества ошибок в процессе тестирования vstest.console.exe, но тесты могут выполняться медленнее. В настоящее время этот параметр нельзя использовать при выполнении с параметром задания с несколькими агентами.


codeCoverageEnabled - Объем протестированного кода включен
boolean. Значение по умолчанию: False.

Собирает сведения о объеме протестированного кода из тестового запуска.


otherConsoleOptions - Другие параметры консоли
string.

Другие параметры консоли , которые можно передать vstest.console.exe.

Эти параметры не поддерживаются и будут игнорироваться при выполнении тестов с использованием параметра Параллельное использование нескольких агентов задания агента, при выполнении тестов с помощью плана тестирования или тестового запуска или при выборе настраиваемого параметра пакетной обработки. Параметры можно указать с помощью файла параметров.


distributionBatchType - Пакетные тесты
string. Допустимые значения: basedOnTestCases (на основе количества тестов и агентов), basedOnExecutionTime (на основе времени выполнения тестов), basedOnAssembly (на основе тестовых сборок). Значение по умолчанию: basedOnTestCases.

Пакет — это группа тестов. Пакет тестов выполняет свои тесты одновременно, и результаты публикуются для пакета. Если задание, в котором выполняется задача, использует несколько агентов, каждый агент выбирает все доступные пакеты тестов для параллельного выполнения. Пакет можно выполнить:

на основе количества тестов и агентов. Простая пакетная обработка на основе количества тестов и агентов, участвующих в тестовом запуске.

на основе последнего времени выполнения тестов. Эта пакетная обработка учитывает прошедшее время выполнения для создания пакетов тестов, где каждый пакет имеет приблизительно равное время выполнения.

на основе тестовых сборок. Тесты из сборки объединяются вместе.


batchingBasedOnAgentsOption - Параметры пакетной службы
string. Необязательный элемент. Используйте при distributionBatchType = basedOnTestCases. Допустимые значения: autoBatchSize (автоматически определяет размер пакета), customBatchSize (укажите размер пакета). Значение по умолчанию: autoBatchSize.

Задает простую пакетную обработку на основе количества тестов и агентов, участвующих в тестовом запуске. При автоматическом определении размера пакета каждый пакет содержит тесты (total number of tests / number of agents) . Если указан размер пакета, каждый пакет будет содержать указанное количество тестов.


customBatchSizeValue - Количество тестов в пакете
string. Требуется при .distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize Значение по умолчанию: 10.

Указывает размер пакета.


batchingBasedOnExecutionTimeOption - Параметры пакетной службы
string. Необязательный элемент. Используйте при distributionBatchType = basedOnExecutionTime. Допустимые значения: autoBatchSize (автоматически определяет время пакета), customTimeBatchSize (укажите время выполнения для каждого пакета). Значение по умолчанию: autoBatchSize.

Эта пакетная обработка учитывает прошедшее время выполнения для создания пакетов тестов, в которых каждый пакет имеет приблизительно равное время выполнения. Быстрые тесты будут объединены вместе, а более длительные тесты могут относиться к отдельному пакету. Если этот параметр используется с параметром задания с несколькими агентами, общее время тестирования сокращается до минимума.


customRunTimePerBatchValue - Время выполнения (с) на пакет
string. Требуется при .distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize Значение по умолчанию: 60.

Указывает время выполнения (в секундах) для каждого пакета.


dontDistribute - Репликация тестов вместо распространения, если в задании используется несколько агентов
boolean. Значение по умолчанию: False.

При выборе этого параметра тесты не будут распределяться между агентами, когда задача выполняется в задании с несколькими агентами. Каждый из выбранных тестов будет повторяться для каждого агента. Этот параметр неприменим, если задание агента настроено для запуска без параллелизма или с параметром multi-config.


dontDistribute - Не распределяйте тесты и не реплицируйте их, если в задании используется несколько агентов.
boolean. Значение по умолчанию: False.

При выборе этого параметра тесты не будут распределяться между агентами, когда задача выполняется в задании с несколькими агентами. Каждый из выбранных тестов будет повторяться для каждого агента. Этот параметр неприменим, если задание агента настроено для запуска без параллелизма или с параметром multi-config.


testRunTitle - Заголовок тестового запуска
string.

Указывает имя тестового запуска.


platform - Платформа сборки
string.

Указывает платформу сборки, для которой следует сообщать о тестах. Если вы определили переменную для платформы в задаче сборки, используйте ее с данными входными данными.


configuration - Конфигурация сборки
string.

Указывает конфигурацию сборки, по которой следует сообщать о тестах. Если вы определили переменную для конфигурации в задаче сборки, используйте ее с данными входными данными.


publishRunAttachments - Отправка тестовых вложений
boolean. Значение по умолчанию: true.

Согласие на публикацию или выход из публикации вложений на уровне выполнения.


failOnMinTestsNotRun - Сбой задачи, если не выполняется минимальное количество тестов.
boolean. Значение по умолчанию: False.

Завершается сбоем задачи, если не выполняется минимальное количество тестов. Это может быть полезно, если какие-либо изменения во входных данных задачи или базовых зависимостях адаптера тестирования приводят к обнаружению только подмножества требуемых тестов.


minimumExpectedTests - Минимальное число тестов
string. Необязательный элемент. Используйте при failOnMinTestsNotRun = true. Значение по умолчанию: 1.

Указывает минимальное количество тестов, выполняемых для успешного выполнения задачи. Общее количество выполненных тестов вычисляется как сумма пройденных, неудачных и прерванных тестов.


diagnosticsEnabled - Сбор расширенных диагностика в случае катастрофических сбоев
boolean. Значение по умолчанию: false.

Собирает диагностические данные для устранения катастрофических сбоев, таких как сбой теста. Если этот параметр установлен, xml-файл последовательности создается и присоединяется к тестовом выполнению. Файл последовательности содержит сведения о последовательности, в которой выполнялись тесты, поэтому можно определить потенциального виновника теста.


diagnosticsEnabled - Сбор расширенных диагностика в случае катастрофических сбоев
boolean. Значение по умолчанию: True.

Собирает диагностические данные для устранения катастрофических сбоев, таких как сбой теста. Если этот параметр установлен, xml-файл последовательности создается и присоединяется к тестовом выполнению. Файл последовательности содержит сведения о последовательности, в которой выполнялись тесты, поэтому можно определить потенциального виновника теста.


collectDumpOn - Сбор дампа процесса и присоединение к отчету о тестовом выполнении
string. Необязательный элемент. Используйте при diagnosticsEnabled = true. Допустимые значения: onAbortOnly (только при прерывании), always, never. Значение по умолчанию: onAbortOnly.

Собирает мини-дамп, который можно использовать для дальнейшего анализа.

  • onAbortOnly — мини-дамп будет собираться только после прерывания тестового запуска.
  • Всегда — мини-дамп всегда будет собираться независимо от того, завершено ли тестовое выполнение.
  • Никогда — мини-дамп не будет собираться независимо от того, завершен ли тестовый запуск.

rerunFailedTests - Повторный запуск неудачных тестов
boolean. Значение по умолчанию: False.

Повторно выполняет все неудачные тесты до тех пор, пока они не будут пройдены или пока не будет достигнуто максимальное количество попыток.


rerunType - Не выполнять повторно, если сбои теста превышают указанное пороговое значение
string. Необязательный элемент. Используйте при rerunFailedTests = true. Допустимые значения: basedOnTestFailurePercentage (% сбоя), basedOnTestFailureCount (число неудачных тестов). Значение по умолчанию: basedOnTestFailurePercentage.

Избегает повторного выполнения тестов, когда частота сбоев пересекает указанное пороговое значение. Это применимо, если проблемы со средой приводят к массовым сбоям. В качестве порогового значения можно указать процент сбоев или количество неудачных тестов.


rerunFailedThreshold - % сбоя
string. Необязательный элемент. Используйте при rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. Значение по умолчанию: 30.

Позволяет избежать повторного запуска тестов, когда процент неудачных тестовых случаев пересекает указанное пороговое значение. Это применимо, если проблемы со средой приводят к массовым сбоям.


rerunFailedTestCasesMaxLimit - Число неудачных тестов
string. Необязательный элемент. Используйте при rerunFailedTests = true && rerunType = basedOnTestFailureCount. Значение по умолчанию: 5.

Избегает повторного запуска тестов, когда количество неудачных тестовых случаев пересекает указанное ограничение. Это применимо, если проблемы со средой приводят к массовым сбоям.


rerunMaxAttempts - Максимальное число попыток
string. Необязательный элемент. Используйте при rerunFailedTests = true. Значение по умолчанию: 3.

Указывает максимальное число повторных попыток неудачного теста. Если тест проходит до достижения максимального количества попыток, повторное выполнение не будет выполнено.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Используйте эту задачу для выполнения модульных и функциональных тестов (Selenium, Appium, закодированных тестов пользовательского интерфейса и т. д.) с помощью средства выполнения тестов Visual Studio. Наряду с тестами на основе MSTest также можно выполнять платформы тестирования с адаптером тестирования Visual Studio, например xUnit, NUnit или Chutzpah.

Проверяет, можно ли выполнить целевую платформу .NET Core, указав соответствующее значение целевой платформы в файле RUNSETTINGS.

Тесты можно распространять на нескольких агентах с помощью версии 2 этой задачи. Дополнительные сведения см. в статье Параллельное выполнение тестов с помощью задачи Тестирования Visual Studio.

Проверка предварительных требований

Если вы используете локальный агент Windows, необходимо установить следующее необходимое условие:

Требования

Агент должен иметь следующие возможности:

vstest

Требование vstest может быть удовлетворено двумя способами:

  1. Visual Studio устанавливается на компьютере агента.
  2. С помощью задачи Visual Studio Test Platform Installer в определении конвейера.

Как выполнять тесты, использующие TestCase в качестве источника данных?

Для запуска автоматических тестов, использующих TestCase в качестве источника данных, необходимо следующее:

  1. На компьютере агента должна быть установлена среда Visual Studio 2017.6 или более поздней версии. Задача Visual Studio Test Platform Installer не может использоваться для выполнения тестов, использующих TestCase в качестве источника данных.
  2. Create pat, авторизованный для область "Рабочие элементы (полные)".
  3. Добавьте защищенную переменную сборки или выпуска с именем Test.TestCaseAccessToken со значением pat, созданного на предыдущем шаге.

При выполнении управляемых данными тестов xUnit и NUnit с некоторыми параметрами задачи возникают проблемы. Существуют ли известные ограничения?

Тесты на основе данных, использующие платформы тестирования xUnit и NUnit, имеют некоторые известные ограничения и не могут использоваться со следующими вариантами задач:

  1. Повторный запуск неудачных тестов.
  2. Распределение тестов на нескольких агентах и параметры пакетной обработки.
  3. Анализ влияния на тест.

Указанные выше ограничения связаны с тем, как адаптеры для этих платформ тестирования обнаруживают тесты на основе данных и сообщают о них.

Поддерживает ли задача VSTest выполнение тестов, предназначенных для нескольких целевых платформ одновременно?

Да, начиная с версии 17.3 VSTest поддерживает выполнение тестов, предназначенных для нескольких целевых платформ одновременно. До этого это было невозможно из-за ограничений на стороне платформы VSTest .

Если вы хотите выполнять тесты, принадлежащие нескольким целевым платформам, необходимо установить совместимую версию VSTest с помощью Visual Studio Test Platform Installer и задать для vsTestVersiontoolsInstaller ее использования.

При публикации результата теста возникает следующая ошибка: Не удалось опубликовать результаты теста: указан недопустимый приоритет?

Эта ошибка возникает, если какой-либо из методов теста имеет приоритет выше 255, исправьте приоритет метода теста в коде и выполните тесты снова. Вы можете просмотреть созданный файл trx, чтобы увидеть все тесты с приоритетом более 255.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Для выполнения заданий, использующих эту задачу, локальные агенты должны иметь возможности, соответствующие следующим требованиям: vstest.
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.103.0 или более поздней версии
Категория задач Тест