Tarea Publicar resultados de cobertura de código
Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015
Use esta tarea en una canalización de compilación para publicar los resultados de cobertura de código generados al ejecutar pruebas en Azure Pipelines o TFS con el fin de obtener informes de cobertura. La tarea admite formatos de resultados de cobertura populares, como Cobertura y JaCoCo.
Esta tarea solo se puede usar en las canalizaciones de compilación y no se admite en las canalizaciones de versión.
Tareas como Visual Studio Test,.NET Core,Ant,Maven,Gulpy Grunt también proporcionan la opción de publicar datos de cobertura de código en la canalización. Si usa estas tareas, no necesita una tarea Publicar resultados de cobertura de código independiente en la canalización.
Peticiones
Para generar el informe de cobertura de código HTML, necesita dotnet 2.0.0 o posterior en el agente. La carpeta dotnet debe estar en la ruta de acceso del entorno. Si hay varias carpetas que contienen dotnet, la que tiene la versión 2.0.0 debe estar delante de cualquier otra en la lista de rutas de acceso.
Fragmento de código YAML
# Publish code coverage results
# Publish Cobertura or JaCoCo code coverage results from a build
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: 'JaCoCo' # Available options: 'JaCoCo', 'Cobertura'
summaryFileLocation:
#pathToSources: # Optional
#reportDirectory: # Optional
#additionalCodeCoverageFiles: # Optional
#failIfCoverageEmpty: false # Optional
Los parámetros codeCoverageTool y summaryFileLocation son obligatorios.
Para publicar los resultados de cobertura de código para JavaScript con JavaScript con YAML, consulte JavaScript en la sección Ecosistemas de estos temas, que también incluye ejemplos para otros lenguajes.
Para ver un ejemplo de publicación de cobertura de código mediante Cobertura, consulte esta sección sobre la cobertura de código.
Argumentos
| Argumento | Descripción |
|---|---|
codeCoverageToolHerramienta de cobertura de código |
(Obligatorio) De forma predeterminada, use JaCoCo. Opciones disponibles: JaCoCo, Cobertura. |
summaryFileLocation Ruta de acceso a los archivos de resumen |
(Obligatorio) Ruta de acceso del archivo de resumen que contiene estadísticas de cobertura de código, como la cobertura de línea, método y clase. Varios archivos de resumen se combinarán en un único informe. El valor puede contener patrones de minimatch. Por ejemplo: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml |
pathToSources Ruta de acceso a los archivos de origen |
(Opcional) La ruta de acceso a los archivos de origen es necesaria cuando los informes XML de cobertura no contienen una ruta de acceso absoluta a los archivos de origen. Por ejemplo, los informes de JaCoCo no usan rutas de acceso absolutas y, al publicar la cobertura de JaCoCo para aplicaciones Java, el patrón sería similar a $(System.DefaultWorkingDirectory)/MyApp/src/main/java/ . Esta entrada también es necesaria si las pruebas se ejecutan en un contenedor de Docker. Esta entrada debe apuntar a la ruta de acceso absoluta a los archivos de origen en el host. Por ejemplo: $(System.DefaultWorkingDirectory)/MyApp/ |
reportDirectoryDirectorio de informes |
(Opcional) Ruta de acceso del directorio de informe HTML de cobertura de código. El directorio del informe se publica para su posterior visualización como un artefacto de la compilación. El valor puede contener patrones de minimatch. Por ejemplo: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura |
additionalCodeCoverageFilesArchivos adicionales |
(Opcional) Patrón de ruta de acceso de archivo que especifica los archivos de cobertura de código adicionales que se publicarán como artefactos de la compilación. El valor puede contener patrones de minimatch. Por ejemplo: $(System.DefaultWorkingDirectory)/**/*.exec |
failIfCoverageEmptyError si faltan resultados de cobertura de código |
(Opcional) Error en la tarea si la cobertura de código no produjo ningún resultado para publicar. |
Docker
En el caso de las aplicaciones que usan Docker, la compilación y las pruebas se pueden ejecutar dentro del contenedor, generando resultados de cobertura de código dentro del contenedor. Para publicar los resultados en la canalización, los artefactos resultantes deben estar disponibles para la tarea Publicar resultados de cobertura de código. Como referencia, puede ver un ejemplo similar para publicar los resultados de pruebas en la sección Compilación, prueba y publicación de resultados con un archivo de Docker para Docker.
Vista de resultados
Para ver los resultados de cobertura de código en la canalización, consulte Revisión de los resultados de cobertura de código.
Tareas relacionadas
Código Abierto
Esta tarea es de código abierto en GitHub. Los comentarios y las contribuciones son bienvenidos.
Preguntas más frecuentes
¿Se combinan los datos de cobertura de código cuando se proporcionan varios archivos como entrada a la tarea o se usan varias tareas en la canalización?
En la actualidad, la funcionalidad de informes de cobertura de código proporcionada por esta tarea es limitada y no combina los datos de cobertura. Si proporciona varios archivos como entrada a la tarea, solo se tiene en cuenta la primera coincidencia. Si usa varias tareas de cobertura de código de publicación en la canalización, se muestra el resumen y el informe de la última tarea. Los datos cargados previamente se omiten.
Ayuda y soporte técnico
- Vea la guía de solución de problemas
- Obtenga consejos sobre Stack Overflowy obtenga soporte técnico a través de la página developer Community
Problemas conocidos
La tarea de resultados de la cobertura de código de publicación genera y publica el informe HTML, un conjunto de archivos HTML que están vinculados desde el archivo index.html principal. Si la pestaña cobertura de código no muestra el informe de cobertura de código, compruebe si el tamaño del archivo index.html está cerca o superior a 7 MB. Complete los pasos siguientes para comprobar el tamaño del archivo. A continuación, si el tamaño del archivo es cercano o superior a 7 MB, puede usar la siguiente solución alternativa para ver el informe de cobertura:
Seleccione la pestaña Resumen de compilación y, a continuación, seleccione el vínculo publicado:

Junto al artefacto Code Coverage Report_*, seleccione Download artifacts (Descargar artefactos):

Cuando se descargue el informe de cobertura de código, extraiga el .zip archivo.
En el informe de cobertura de código, compruebe el tamaño de index.html para ayudar a determinar si el tamaño del archivo está causando el problema descrito aquí.
Abra index.html en un explorador para ver el informe de cobertura de código.