Compartir vía


VSTest@3: tarea Prueba de Visual Studio v3

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 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@3 es la versión más reciente de la tarea y debe usarse en las canalizaciones.

Sintaxis

# Visual Studio Test v3
# 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 and later).
- task: VSTest@3
  inputs:
    #azureSubscription: # string. Alias: ConnectedServiceName. Azure Resource Manager connection. 
  # 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.

Entradas

azureSubscription - de conexión de Azure Resource Manager
Alias de entrada: ConnectedServiceName. string.

Especifique una conexión de servicio de Azure Resource Manager configurada con la federación de identidades de carga de trabajo para usar AzurePipelinesCredential en las pruebas de integración. Para más información, consulte Uso de AzurePipelinesCredential en pruebas de integración.

Nota

Esta entrada solo admite conexiones de servicio arm configuradas para usar la federación de identidades de carga de trabajo.


testSelector - Seleccionar 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 pruebas: ejecuta pruebas del plan de pruebas que tienen asociado un método de prueba automatizado. Para obtener más información sobre cómo asociar pruebas a un elemento de trabajo de casos de prueba, consulte Asociar pruebas automatizadas con casos de prueba.
  • Ejecución de pruebas: Use esta opción cuando configure un entorno para ejecutar pruebas desde planes de prueba. Esta opción no se debe usar al ejecutar pruebas en una canalización de integración continua o implementación continua (CI/CD).

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

Ejecuta pruebas a partir 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@3
  inputs:
    testSelector: 'testAssemblies'
    testAssemblyVer2: |
      **\*test*.dll
      !**\*TestAdapter.dll
      !**\obj\**

de plan de prueba de
string. Obligatorio cuando testSelector = testPlan.

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


del conjunto de pruebas de
string. Obligatorio 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 - de configuración de prueba
string. Obligatorio cuando testSelector = testPlan.

Especifica la configuración de prueba.


tcmTestRun - de 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 desde planes de prueba. Esta opción no se puede usar para ejecutar pruebas en la canalización de CI/CD.


de carpeta de búsqueda de
string. Obligatorio. Valor predeterminado: $(System.DefaultWorkingDirectory).

Especifica la carpeta que se va a buscar los ensamblados de prueba.


carpeta de resultados de pruebas de
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 tarea vstest antes de ejecutar 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 opciones de 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 cómo usar análisis de impacto de pruebas.


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. Test Impact Analysis almacena la asignación entre casos de prueba y código fuente. Se recomienda volver a generar la asignación ejecutando todas las pruebas periódicamente.


uiTests - Combinación de pruebas contiene pruebas de IU
boolean. Valor predeterminado: false.

Para ejecutar pruebas de IU, 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 adecuadamente para evitar errores. Los agentes hospedados de Windows de los grupos de VS 2015 y 2017 se pueden usar para ejecutar pruebas de iu.


vstestLocationMethod - Seleccionar 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.


versión de la plataforma de prueba de
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 Prueba de Visual Studio que se va a usar. Si se especifica más reciente, esta entrada elige la versión más reciente (en la lista de valores permitidos) 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 del instalador de plataforma de prueba de Visual Studio para adquirir la plataforma de prueba de NuGet.


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

Especifica la ruta de acceso a VSTest.


archivo de configuración de
string.

Especifica la ruta de acceso a un archivo runsettings 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 convertir un archivo de .testsettings en un archivo .runsettings.


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

Invalida los parámetros definidos en la sección TestRunParameters de un archivo runsettings o la sección Properties de un archivo testsettings. Por ejemplo: -key1 value1 -key2 value2. Nota: se puede acceder a las propiedades especificadas en un archivo de testsettings a través del TestContext mediante 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 - Ejecutar pruebas en paralelo en máquinas de varios núcleos
boolean. Valor predeterminado: False.

Si se establece en true, las pruebas se ejecutan en paralelo y aprovechan los núcleos disponibles de la máquina. Esto invalidará el MaxCpuCount si se especifica en el archivo runsettings. Obtenga más información sobre cómo se ejecutan las pruebas de 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 al ejecutarse con la configuración de trabajo multiagente.


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 cuando se ejecuten pruebas mediante el configuración de paralelo multiagente de un trabajo de agente, al ejecutar pruebas con el plan de pruebas de o opción Ejecución de pruebas, 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 - de pruebas de Batch
string. Valores permitidos: basedOnTestCases (en función del número de pruebas y agentes), basedOnExecutionTime (según el tiempo de ejecución anterior 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 los lotes de pruebas disponibles para ejecutarse en paralelo. Se puede ejecutar un lote:

en función del número de pruebas y agentes. Procesamiento por lotes sencillo basado en el 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 considera el tiempo de ejecución pasado para crear lotes de pruebas en los que 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 (determinar automáticamente el tamaño del lote), customBatchSize (especificar 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 lote contendrá el número especificado de pruebas.


customBatchSizeValue - Número de pruebas por lote
string. Obligatorio 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 (determinar automáticamente el tiempo del lote), customTimeBatchSize (especificar tiempo de ejecución por lote). Valor predeterminado: autoBatchSize.

Este procesamiento por lotes considera tiempos de ejecución anteriores para crear lotes de pruebas en los que 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 multiagente, el tiempo total de prueba se reduce a un mínimo.


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

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


dontDistribute - Replicar pruebas en lugar de distribuirse cuando se usan varios agentes en el trabajo
boolean. Valor predeterminado: False.

Si elige esta opción, no distribuirá las pruebas entre agentes cuando la tarea se ejecute en un trabajo de varios agentes. Cada una de las pruebas seleccionadas se repetirá 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 ejecución de pruebas
string.

Especifica un nombre para la ejecución de pruebas.


platform - de la 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 - de 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.

Participar o no publicar datos adjuntos de nivel de ejecución.


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

Produce un error en la tarea si no se ejecuta un número mínimo de pruebas. Esto puede ser útil si algún cambio en las entradas de tareas o las dependencias del adaptador de prueba subyacentes solo conduce a un subconjunto de las pruebas deseadas que se van a encontrar.


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 - Recopilar 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 de secuencia y se adjunta a la ejecución 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 - Recopilar volcado de proceso y adjuntarlo a de ejecución de pruebas
string. Opcional. Use cuando diagnosticsEnabled = true. Valores permitidos: onAbortOnly (solo activado), always, never. Valor predeterminado: onAbortOnly.

Recopila un mini volcado de memoria que se puede usar para realizar un análisis posterior.

  • onAbortOnly: solo se recopilará un mini volcado cuando se anule la ejecución de pruebas.
  • Siempre: siempre se recopilará un mini volcado de memoria independientemente de si la ejecución de la prueba se completa o no.
  • Nunca: no se recopilará un mini volcado independientemente de si la ejecución de la prueba 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 volver a ejecutar si los errores de prueba superan el umbral especificado
string. Opcional. Use cuando rerunFailedTests = true. Valores permitidos: basedOnTestFailurePercentage ( error de%), basedOnTestFailureCount (número de pruebas con errores). 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 errores como umbral.


% 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 error. Si se supera una prueba antes de alcanzar el número máximo de intentos, no volverá a ejecutarse.


Opciones de control de tareas

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

Variables de salida

Ninguno.

Observaciones

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 se puede ejecutar el marco de .NET Core de destino especificando el valor de la plataforma de destino adecuado en el archivo .runsettings de .

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

Comprobación de los requisitos previos

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

Demandas

El agente debe tener la funcionalidad siguiente:

vstest

La demanda de vstest se puede satisfacer de dos maneras:

  1. Visual Studio está instalado en el equipo del agente.
  2. Mediante el tarea Instalador de plataforma de prueba de Visual Studio en la definición de canalización.

¿Cómo puedo ejecutar pruebas que usan TestCase como origen de datos?

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

  1. Debe tener Visual Studio 2017.6 o posterior en el equipo del agente. La tarea Instalador de plataforma de prueba de Visual Studio no se puede usar para ejecutar pruebas que usan 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. ¿Existen limitaciones conocidas?

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

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

Las limitaciones anteriores se deben a cómo los adaptadores de estos marcos de pruebas detectan y notifican pruebas controladas por datos.

¿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 de plataforma VSTest lado.

Si quiere ejecutar pruebas que pertenecen a varios marcos de destino, deberá instalar una versión compatible de VSTest a través de instalador de plataforma de pruebas de Visual Studio y establecer vsTestVersion en toolsInstaller para usarlo.

Al publicar el resultado de la prueba, obtención de este error: No se pudieron publicar los resultados de la prueba: ¿Se especificó 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.

Uso de AzurePipelinesCredential en pruebas de integración

Las bibliotecas de identidades de Azure para .NET, C++, Go, Java, JavaScript y Python proporcionan compatibilidad con la federación de identidades de carga de trabajo, por lo que el código ejecutado desde las tareas AzureCLI@2 y AzurePowerShell@5 se puede autenticar con microsoft Entra ID (por ejemplo, para acceder a Azure) mediante la clase AzurePipelinesCredential.

Muchos clientes usan bibliotecas cliente de Azure SDK en pruebas de integración invocadas desde otras tareas. Las tareas DotNetCoreCLI@2, Maven@4 y VSTest@3 pueden acceder a los recursos de Azure mediante la clase AzurePipelinesCredential.

Puede establecer la propiedad connectedService en una conexión de servicio de Azure configurada con la federación de identidades de carga de trabajo. El AzurePipelinesCredential requiere que se establezca SYSTEM_ACCESSTOKEN.

En el ejemplo siguiente se muestra la entrada connectedService en la tarea DotNetCoreCLI@2. el uso de VSTest@3 y Maven@4 es similar.

- task: DotNetCoreCLI@2
  inputs:
    command: 'run'
    connectedService: <Azure service connection configured with workload identity federation>
  env:
    SYSTEM_ACCESSTOKEN: $(System.AccessToken)

Para más información sobre AzurePipelinesCredential, consulte este Mejorar la posición de seguridad en las conexiones de servicio de Azure con AzurePipelinesCredential.

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
demandas Los agentes autohospedados deben tener funcionalidades que coincidan con los siguientes exigen ejecutar trabajos que usen esta tarea: vstest
funcionalidades de Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
restricciones de comandos Cualquier
variables settable Cualquier
Versión del agente 2.144.0 o superior
Categoría de tarea Prueba