Compartir vía


VSTest@2: tarea Prueba de Visual Studio v2

Use esta tarea para ejecutar pruebas unitarias y funcionales (Selenium, Appium, prueba automatizada de IU, etc.) mediante el ejecutor de pruebas de Visual Studio (VSTest). Puede ejecutar marcos de pruebas que tengan un adaptador de prueba de Visual Studio. Los marcos de trabajo de ejemplo son MSTest, xUnit, NUnit, Chutzpah (para pruebas de JavaScript con QUnit, Mocha y Jasmine), etc. Las pruebas se pueden distribuir en varios agentes mediante esta tarea.

Nota

VSTest@2 es la versión más reciente de la tarea y debe usarse en las canalizaciones.

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.

Entradas

testSelector - Selección de pruebas mediante
string. Obligatorio. Valores permitidos: testAssemblies (Ensamblados de prueba), testPlan (Plan de prueba), testRun (Ejecución de pruebas). Valor predeterminado: testAssemblies.

  • Ensamblado de prueba: Especifica uno o varios ensamblados de prueba que contienen las pruebas. Opcionalmente, puede especificar un criterio de filtro para seleccionar solo pruebas específicas.
  • Plan de prueba: Ejecuta pruebas del plan de pruebas que tienen asociado un método de prueba automatizado. Para más información sobre la asociación de pruebas con un elemento de trabajo para los casos de prueba, consulte Asociación de pruebas automatizadas con casos de prueba.
  • Ejecución de pruebas: Use esta opción cuando configure un entorno para ejecutar pruebas a partir de planes de prueba. Esta opción no se debe usar cuando se ejecuten pruebas en una canalización de integración continua o implementación continua (CI/CD).

testAssemblyVer2 - Archivos de prueba
string. Necesario cuando testSelector = testAssemblies. Valor predeterminado: **\bin\**\*test.dll\n**\bin\**\*tests.dll.

Ejecuta pruebas de los archivos especificados. Las pruebas ordenadas y las pruebas web se pueden ejecutar especificando los archivos .orderedtest y .webtest respectivamente. Para ejecutar .webtest, se necesita Visual Studio 2017 Update 4 o posterior. Las rutas de acceso de archivo son relativas a la carpeta de búsqueda. Esta entrada admite varias líneas de patrones de minimatch.

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

testAssemblyVer2 - Archivos de prueba
string. Necesario cuando testSelector = testAssemblies. Valor predeterminado: **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**.

Ejecuta pruebas de los archivos especificados. Las pruebas ordenadas y las pruebas web se pueden ejecutar especificando los archivos .orderedtest y .webtest respectivamente. Para ejecutar .webtest, se necesita Visual Studio 2017 Update 4 o posterior. Las rutas de acceso de archivo son relativas a la carpeta de búsqueda. Esta entrada admite varias líneas de patrones de minimatch.

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

testPlan - Plan de prueba
string. Necesario cuando testSelector = testPlan.

Especifica un plan de prueba que contiene conjuntos de pruebas con casos de prueba automatizados.


testSuite - Conjunto de pruebas
string. Necesario cuando testSelector = testPlan.

Especifica uno o varios conjuntos de pruebas que contienen casos de prueba automatizados. Los elementos de trabajo del caso de prueba deben estar asociados a un método de prueba automatizado.


testConfiguration - Configuración de prueba
string. Necesario cuando testSelector = testPlan.

Especifica la configuración de prueba.


tcmTestRun - Ejecución de pruebas
string. Opcional. Use cuando testSelector = testRun. Valor predeterminado: $(test.RunId).

Especifica la selección basada en la ejecución de pruebas que se usa al desencadenar ejecuciones de pruebas automatizadas a partir de planes de prueba. Esta opción no se puede usar para ejecutar pruebas en la canalización de CI/CD.


searchFolder - Carpeta de búsqueda
string. Obligatorio. Valor predeterminado: $(System.DefaultWorkingDirectory).

Especifica la carpeta para buscar los ensamblados de prueba.


resultsFolder - Carpeta de resultados de pruebas
string. Valor predeterminado: $(Agent.TempDirectory)\TestResults.

Especifica la carpeta para almacenar los resultados de las pruebas. Cuando se usa el directorio predeterminado, se limpia al final de una ejecución de canalización. El directorio de resultados siempre se limpiará al principio de la vstest tarea antes de que se ejecuten las pruebas. La ruta de acceso de carpeta relativa, si se proporciona, se considerará relativa a $(Agent.TempDirectory).


testFiltercriteria - Criterios de filtro de prueba
string. Opcional. Use cuando testSelector = testAssemblies.

Especifica criterios adicionales para filtrar las pruebas de los ensamblados de prueba. Por ejemplo: Priority=1|Name=MyTestMethod. Obtenga información sobre las opciones de la línea de comandos.


runOnlyImpactedTests - Ejecutar solo pruebas afectadas
boolean. Opcional. Use cuando testSelector = testAssemblies. Valor predeterminado: False.

Especifica y ejecuta automáticamente las pruebas necesarias para validar el cambio de código. Obtenga información sobre el uso del análisis de impacto de prueba.


runAllTestsAfterXBuilds - Número de compilaciones después de las cuales se deben ejecutar todas las pruebas
string. Opcional. Use cuando testSelector = testAssemblies && runOnlyImpactedTests = true. Valor predeterminado: 50.

Especifica el número de compilaciones que se van a ejecutar antes de que se ejecuten automáticamente todas las pruebas. El análisis de impacto en las pruebas almacena la asignación entre los casos de prueba y el código fuente. Se recomienda volver a generar la asignación ejecutando todas las pruebas periódicamente.


uiTests - La combinación de pruebas contiene pruebas de iu
boolean. Valor predeterminado: false.

Para ejecutar pruebas de interfaz de usuario, asegúrese de que el agente está establecido para ejecutarse en modo interactivo con Autologon habilitado. La configuración de un agente para que se ejecute de forma interactiva debe realizarse antes de poner en cola la compilación o versión. Al activar esta casilla no se configura automáticamente el agente en modo interactivo. Esta opción sirve como recordatorio para configurar el agente correctamente para evitar errores. Los agentes de Windows hospedados de los grupos de VS 2015 y 2017 se pueden usar para ejecutar pruebas de la interfaz de usuario.


vstestLocationMethod - Selección de la plataforma de prueba mediante
string. Valores permitidos: version, location (ubicación específica). Valor predeterminado: version.

Especifica la plataforma de prueba que se va a usar.


vsTestVersion - Versión de la plataforma de prueba
string. Opcional. Use cuando vstestLocationMethod = version. Valores permitidos: latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (Instalado por el Instalador de herramientas). Valor predeterminado: latest.

Especifica la versión de Visual Studio Test que se va a usar. Si se especifica latest , esta entrada elige la versión más reciente (de la lista de valores permitidos) que está instalada. Para ejecutar pruebas sin necesidad de Visual Studio en el agente, use la opción instalado por el instalador de herramientas . Asegúrese de incluir la tarea Instalador de la plataforma de prueba de Visual Studio para adquirir la plataforma de prueba de NuGet.


vsTestVersion - Versión de la plataforma de prueba
string. Opcional. Use cuando vstestLocationMethod = version. Valores permitidos: latest, 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), toolsInstaller (Instalado por el Instalador de herramientas). Valor predeterminado: latest.

Especifica la versión de Visual Studio Test que se va a usar. Si se especifica latest , esta entrada elige la versión más reciente (de la lista de valores permitidos) que está instalada. Para ejecutar pruebas sin necesidad de Visual Studio en el agente, use la opción instalado por el instalador de herramientas . Asegúrese de incluir la tarea Instalador de la plataforma de prueba de Visual Studio para adquirir la plataforma de prueba de NuGet.


vstestLocation - Ruta de acceso a vstest.console.exe
string. Opcional. Use cuando vstestLocationMethod = location.

Especifica la ruta de acceso a VSTest.


runSettingsFile - Archivo de configuración
string.

Especifica la ruta de acceso a un runsettings archivo o testsettings que se va a usar con las pruebas. Para Visual Studio 15.7 y versiones posteriores, use runsettings para todos los tipos de prueba. Obtenga más información sobre cómo convertir un .testsettings archivo en un .runsettings archivo.


overrideTestrunParameters - Invalidación de los parámetros de ejecución de pruebas
string.

Invalida los parámetros definidos en la TestRunParameters sección de un runsettings archivo o la Properties sección de un testsettings archivo. Por ejemplo: -key1 value1 -key2 value2. Nota: Se puede tener acceso a las propiedades especificadas en un testsettings archivo mediante TestContext El uso de Visual Studio 2017 (actualización 4 o posterior).


pathtoCustomTestAdapters - Ruta de acceso a adaptadores de prueba personalizados
string.

Especifica la ruta de acceso del directorio a adaptadores de prueba personalizados. Los adaptadores que residen en la misma carpeta que los ensamblados de prueba se detectan automáticamente.


runInParallel - Ejecución de pruebas en paralelo en máquinas de varios núcleos
boolean. Valor predeterminado: False.

Si se establece trueen , las pruebas se ejecutan en paralelo y aprovechan los núcleos disponibles de la máquina. Esto invalidará si MaxCpuCount se especifica en el runsettings archivo. Obtenga más información sobre cómo se ejecutan las pruebas en paralelo.


runTestsInIsolation - Ejecutar pruebas de forma aislada
boolean. Valor predeterminado: False.

Ejecuta las pruebas en un proceso aislado. Esto probablemente conduce a menos errores en el proceso de prueba de vstest.console.exe, pero las pruebas pueden ejecutarse más lentamente. Esta opción no se puede usar actualmente cuando se ejecuta con la configuración de trabajo de varios agentes.


codeCoverageEnabled - Cobertura de código habilitada
boolean. Valor predeterminado: False.

Recopila información de cobertura de código de la ejecución de pruebas.


otherConsoleOptions - Otras opciones de consola
string.

Otras opciones de consola que se pueden pasar a vstest.console.exe.

Estas opciones no se admiten y se omitirán al ejecutar pruebas mediante la configuración paralela Multi-agent de un trabajo de agente, al ejecutar pruebas mediante la opción Test plan o Test run , o cuando se selecciona una opción de procesamiento por lotes personalizada. Las opciones se pueden especificar mediante un archivo de configuración en su lugar.


distributionBatchType - Pruebas por lotes
string. Valores permitidos: basedOnTestCases (basado en el número de pruebas y agentes), basedOnExecutionTime (según el tiempo de ejecución pasado de las pruebas), basedOnAssembly (basado en ensamblados de prueba). Valor predeterminado: basedOnTestCases.

Un lote es un grupo de pruebas. Un lote de pruebas ejecuta sus pruebas al mismo tiempo y los resultados se publican para el lote. Si el trabajo en el que se ejecuta la tarea se establece para usar varios agentes, cada agente recoge todos los lotes de pruebas disponibles para ejecutarlos en paralelo. Se puede ejecutar un lote:

basado en el número de pruebas y agentes. Procesamiento por lotes simple en función del número de pruebas y agentes que participan en la ejecución de pruebas.

en función del tiempo de ejecución anterior de las pruebas. Este procesamiento por lotes tiene en cuenta el tiempo de ejecución pasado para crear lotes de pruebas donde cada lote tiene aproximadamente el mismo tiempo de ejecución.

basado en ensamblados de prueba. Las pruebas de un ensamblado se agrupan por lotes.


batchingBasedOnAgentsOption - Opciones de Batch
string. Opcional. Use cuando distributionBatchType = basedOnTestCases. Valores permitidos: autoBatchSize (determine automáticamente el tamaño del lote) customBatchSize (Especifique un tamaño de lote). Valor predeterminado: autoBatchSize.

Especifica el procesamiento por lotes simple en función del número de pruebas y agentes que participan en la ejecución de pruebas. Cuando se determina automáticamente el tamaño del lote, cada lote contiene (total number of tests / number of agents) pruebas. Si se especifica un tamaño de lote, cada uno contendrá el número especificado de pruebas.


customBatchSizeValue - Número de pruebas por lote
string. Necesario cuando distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Valor predeterminado: 10.

Especifica el tamaño del lote.


batchingBasedOnExecutionTimeOption - Opciones de Batch
string. Opcional. Use cuando distributionBatchType = basedOnExecutionTime. Valores permitidos: autoBatchSize (determine automáticamente el tiempo de procesamiento por lotes) customTimeBatchSize (Especifique el tiempo de ejecución por lote). Valor predeterminado: autoBatchSize.

Este procesamiento por lotes considera tiempos de ejecución anteriores para crear lotes de pruebas donde cada lote tiene aproximadamente el mismo tiempo de ejecución. Las pruebas de ejecución rápida se procesarán por lotes, mientras que las pruebas de ejecución prolongada pueden pertenecer a un lote independiente. Cuando esta opción se usa con la configuración de trabajo de varios agentes, el tiempo total de prueba se reduce a un mínimo.


customRunTimePerBatchValue - Tiempo de ejecución (s) por lote
string. Necesario cuando distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Valor predeterminado: 60.

Especifica el tiempo de ejecución (en segundos) por lote.


dontDistribute - Replicación de pruebas en lugar de distribuir cuando se usan varios agentes en el trabajo
boolean. Valor predeterminado: False.

Si elige esta opción, no se distribuirán las pruebas entre agentes cuando la tarea se ejecute en un trabajo de varios agentes. Las pruebas seleccionadas se repetirán en cada agente. Esta opción no es aplicable cuando el trabajo del agente está configurado para ejecutarse sin paralelismo ni con la opción de configuración múltiple.


dontDistribute - No distribuya pruebas y replique en su lugar cuando se usan varios agentes en el trabajo
boolean. Valor predeterminado: False.

Si elige esta opción, no se distribuirán las pruebas entre agentes cuando la tarea se ejecute en un trabajo de varios agentes. Las pruebas seleccionadas se repetirán en cada agente. Esta opción no es aplicable cuando el trabajo del agente está configurado para ejecutarse sin paralelismo ni con la opción de configuración múltiple.


testRunTitle - Título de la ejecución de pruebas
string.

Especifica un nombre para la ejecución de pruebas.


platform - Plataforma de compilación
string.

Especifica la plataforma de compilación en la que se deben notificar las pruebas. Si ha definido una variable para la plataforma en la tarea de compilación, úselo con esta entrada.


configuration - Configuración de compilación
string.

Especifica la configuración de compilación con la que se deben notificar las pruebas. Si ha definido una variable para la configuración en la tarea de compilación, úselo con esta entrada.


publishRunAttachments - Carga de datos adjuntos de prueba
boolean. Valor predeterminado: true.

Opta por no publicar datos adjuntos de nivel de ejecución.


failOnMinTestsNotRun - Se produce un error en la tarea si no se ejecuta un número mínimo de pruebas.
boolean. Valor predeterminado: False.

Se produce un error en la tarea si no se ejecuta un número mínimo de pruebas. Puede resultar útil si los cambios en las entradas de las tareas o las dependencias del adaptador de prueba subyacentes generan solo un subconjunto de las pruebas deseadas que se buscan.


minimumExpectedTests - Número mínimo de pruebas
string. Opcional. Use cuando failOnMinTestsNotRun = true. Valor predeterminado: 1.

Especifica el número mínimo de pruebas que se van a ejecutar para que la tarea se realice correctamente. El total de pruebas ejecutadas se calcula como la suma de las pruebas superadas, con errores y anuladas.


diagnosticsEnabled - Recopilación de diagnósticos avanzados en caso de errores catastróficos
boolean. Valor predeterminado: false.

Recopila datos de diagnóstico para solucionar errores catastróficos, como un bloqueo de prueba. Cuando se activa esta opción, se genera un archivo XML secuencial y se adjunta a la serie de pruebas. El archivo de secuencia contiene información sobre la secuencia en la que se han ejecutado las pruebas, por lo que se puede identificar una posible prueba culpable.


diagnosticsEnabled - Recopilación de diagnósticos avanzados en caso de errores catastróficos
boolean. Valor predeterminado: True.

Recopila datos de diagnóstico para solucionar errores catastróficos, como un bloqueo de prueba. Cuando se activa esta opción, se genera un archivo XML secuencial y se adjunta a la serie de pruebas. El archivo de secuencia contiene información sobre la secuencia en la que se han ejecutado las pruebas, por lo que se puede identificar una posible prueba culpable.


collectDumpOn - Recopilación del volcado de proceso y asociación al informe de ejecución de pruebas
string. Opcional. Use cuando diagnosticsEnabled = true. Valores permitidos: onAbortOnly (solo al anular), always, never. Valor predeterminado: onAbortOnly.

Recopila un minivolcado que se puede usar para su posterior análisis.

  • onAbortOnly : solo se recopilará un mini volcado cuando se anule la ejecución de la prueba.
  • Siempre : siempre se recopilará un minivolcado independientemente de si la ejecución de la prueba se completa o no.
  • Nunca : no se recopilará un minivolcado independientemente de si la ejecución de pruebas se completa o no.

rerunFailedTests - Volver a ejecutar pruebas con errores
boolean. Valor predeterminado: False.

Vuelve a ejecutar las pruebas con errores hasta que se superen o hasta que se alcance el número máximo de intentos.


rerunType - No vuelva a ejecutarse si los errores de prueba superan el umbral especificado
string. Opcional. Use cuando rerunFailedTests = true. Valores permitidos: basedOnTestFailurePercentage (% de error), basedOnTestFailureCount (número de pruebas con error). Valor predeterminado: basedOnTestFailurePercentage.

Evita volver a ejecutar las pruebas cuando la tasa de errores supera el umbral especificado. Esto es aplicable si los problemas del entorno provocan errores masivos. Puede especificar el porcentaje de errores o el número de pruebas con error como umbral.


rerunFailedThreshold - % de error
string. Opcional. Use cuando rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. Valor predeterminado: 30.

Evita volver a ejecutar las pruebas cuando el porcentaje de casos de prueba con errores supera el umbral especificado. Esto es aplicable si los problemas del entorno provocan errores masivos.


rerunFailedTestCasesMaxLimit - Número de pruebas con errores
string. Opcional. Use cuando rerunFailedTests = true && rerunType = basedOnTestFailureCount. Valor predeterminado: 5.

Evita volver a ejecutar las pruebas cuando el número de casos de prueba con errores supera el límite especificado. Esto es aplicable si los problemas del entorno provocan errores masivos.


rerunMaxAttempts - Número máximo de intentos
string. Opcional. Use cuando rerunFailedTests = true. Valor predeterminado: 3.

Especifica el número máximo de veces que se debe reintentar una prueba con errores. Si se supera una prueba antes de alcanzar el número máximo de intentos, no se volverá a ejecutar.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de las entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Comentarios

Use esta tarea para ejecutar pruebas unitarias y funcionales (Selenium, Appium, prueba automatizada de IU, etc.) mediante el ejecutor de pruebas de Visual Studio. Junto con las pruebas basadas en MSTest, los marcos de pruebas que tienen un adaptador de prueba de Visual Studio también se pueden ejecutar, como xUnit, NUnit o Chutzpah.

Comprueba que el marco de .NET Core de destino se pueda ejecutar especificando el valor de la plataforma de destino adecuado en el archivo .runsettings.

Las pruebas se pueden distribuir en varios agentes mediante la versión 2 de esta tarea. Para más información, consulte Ejecución de pruebas en paralelo mediante la tarea Prueba de Visual Studio.

Comprobación de los requisitos previos

Si usa un agente autohospedado de Windows, este requisito previo debe instalarse:

Peticiones

El agente debe tener la funcionalidad siguiente:

vstest

El requisito de vstest se puede cumplir de dos maneras:

  1. Visual Studio está instalado en la máquina del agente.
  2. Mediante la tarea Instalador de Visual Studio Test Platform en la definición de la canalización.

¿Cómo se ejecutan pruebas que usen TestCase como origen de datos?

Para ejecutar pruebas automatizadas que usen TestCase como origen de datos, se necesita lo siguiente:

  1. Debe tener Visual Studio 2017.6 o superior en la máquina del agente. La tarea Instalador de Visual Studio Test Platform no se puede usar para ejecutar pruebas que usen TestCase como origen de datos.
  2. Cree un PAT que esté autorizado para el ámbito "Elementos de trabajo (completos)".
  3. Agregue una variable de compilación o versión segura denominada Test.TestCaseAccessToken con el valor establecido en el PAT creado en el paso anterior.

Tengo problemas al ejecutar pruebas xUnit y NUnit controladas por datos con algunas de las opciones de tarea. ¿Hay limitaciones conocidas?

Las pruebas controladas por datos que usan los marcos de pruebas xUnit y NUnit tienen algunas limitaciones conocidas y no se pueden usar con las siguientes opciones de tarea:

  1. Volver a ejecutar las pruebas con errores
  2. Distribución de pruebas en varios agentes y opciones de procesamiento por lotes.
  3. Análisis de impacto en las pruebas

Las limitaciones anteriores se deben a la manera de detectar y notificar las pruebas de datos por parte de los adaptadores de estos marcos de prueba.

¿La tarea VSTest admite la ejecución de pruebas destinadas a varias plataformas de destino a la vez?

Sí, a partir de la versión 17.3 VSTest admite la ejecución de pruebas destinadas a varias plataformas de destino a la vez. Antes de eso, esto no era posible debido a una limitación del lado de la plataforma VSTest .

Si quiere ejecutar pruebas que pertenecen a varias plataformas de destino, deberá instalar una versión compatible de VSTest a través del Instalador de la plataforma de pruebas de Visual Studio y establecer vsTestVersion en para toolsInstaller usarla.

Al publicar el resultado de la prueba, obteniendo este error: No se pudieron publicar los resultados de la prueba: ¿Se especificó una prioridad no válida?

Este error se produce si alguno de los métodos de prueba tiene una prioridad establecida por encima de 255, corrija la prioridad del método de prueba en el código y vuelva a ejecutar las pruebas. Puede revisar el archivo trx generado para ver todas las pruebas que tienen prioridad superior a 255.

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones Los agentes autohospedados deben tener funcionalidades que coincidan con las siguientes demandas para ejecutar trabajos que usan esta tarea: vstest
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente 2.103.0 o superior
Categoría de la tarea: Prueba