PublishCodeCoverageResults@1 - Publier des résultats de couverture du code v1
Utilisez cette tâche pour publier des résultats de couverture de code Cobertura ou JaCoCo à partir d’une build.
Publiez les résultats de la couverture du code Cobertura ou JaCoCo à partir d’une build.
Utilisez cette tâche pour publier des résultats de couverture de code Cobertura ou JaCoCo à partir d’une build.
Syntaxe
# Publish code coverage results v1
# Publish Cobertura or JaCoCo code coverage results from a build.
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: 'JaCoCo' # 'Cobertura' | 'JaCoCo'. Required. Code coverage tool. Default: JaCoCo.
summaryFileLocation: # string. Required. Summary file.
#pathToSources: # string. Path to Source files.
#reportDirectory: # string. Report directory.
#additionalCodeCoverageFiles: # string. Additional files.
#failIfCoverageEmpty: false # boolean. Fail when code coverage results are missing. Default: false.
# Publish Code Coverage Results v1
# Publish Cobertura or JaCoCo code coverage results from a build.
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: 'JaCoCo' # 'Cobertura' | 'JaCoCo'. Required. Code coverage tool. Default: JaCoCo.
summaryFileLocation: # string. Required. Summary file.
#reportDirectory: # string. Report directory.
#additionalCodeCoverageFiles: # string. Additional files.
#failIfCoverageEmpty: false # boolean. Fail when code coverage results are missing. Default: false.
Entrées
codeCoverageTool
-
outil de couverture du code
string
. Obligatoire. Valeurs autorisées : Cobertura
, JaCoCo
. Valeur par défaut : JaCoCo
.
Spécifie l’outil qui génère des résultats de couverture du code.
summaryFileLocation
-
fichier résumé
string
. Obligatoire.
Spécifie le chemin d’accès du fichier récapitulative contenant des statistiques de couverture du code, telles que la ligne, la méthode et la couverture de classe. Plusieurs fichiers récapitulatives sont fusionnés dans un seul rapport. La valeur peut contenir des modèles de mini-correspondance. Par exemple : $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml
.
chemin d’accès aux fichiers sources pathToSources
-
string
.
La spécification d’un chemin d’accès aux fichiers sources est requise lorsque les rapports XML de couverture ne contiennent pas de chemin absolu vers les fichiers sources. Par exemple, les rapports JaCoCo n’utilisent pas de chemins absolus. Par conséquent, lors de la publication de la couverture JaCoCo pour les applications Java, le modèle est similaire à $(System.DefaultWorkingDirectory)/MyApp/src/main/java/
. Cette entrée doit pointer vers un chemin absolu vers les fichiers sources sur l’hôte. Par exemple, $(System.DefaultWorkingDirectory)/MyApp/
.
Cette entrée peut être utilisée si des tests sont exécutés dans un conteneur Docker.
Plusieurs sources peuvent être ajoutées en limitant chaque élément de liste avec le caractère ;
, par exemple pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source
.
reportDirectory
-
répertoire rapport
string
.
Spécifie le chemin d’accès du répertoire de rapport HTML de couverture du code. Le répertoire de rapport est publié pour l’affichage ultérieur en tant qu’artefact de la build. La valeur peut contenir des modèles de mini-correspondance. Par exemple : $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura
.
additionalCodeCoverageFiles
-
fichiers supplémentaires
string
.
Spécifie le modèle de chemin d’accès du fichier et note tous les fichiers de couverture de code supplémentaires à publier en tant qu’artefacts de la build. La valeur peut contenir des modèles de mini-correspondance. Par exemple : $(System.DefaultWorkingDirectory)/**/*.exec
.
failIfCoverageEmpty
-
Échouer lorsque les résultats de couverture du code sont manquants
boolean
. Valeur par défaut : false
.
Échec de la tâche si la couverture du code n’a pas produit de résultats à publier.
Options de contrôle de tâche
Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.
Variables de sortie
Aucun.
Remarques
Utilisez cette tâche dans un pipeline de build pour publier les résultats de couverture du code générés lors de l’exécution de tests sur Azure Pipelines ou TFS afin d’obtenir des rapports de couverture. La tâche prend en charge les formats de résultats de couverture populaires tels que Cobertura et JaCoCo.
Cette tâche est uniquement prise en charge dans les pipelines de build, et non dans les pipelines de mise en production.
Les tâches telles que visual Studio Test, .NET Core, Ant, Maven, Gulpet Grunt offrent également la possibilité de publier des données de couverture de code dans le pipeline. Si vous utilisez ces tâches, vous n’avez pas besoin d’une tâche de publication distincte des résultats de couverture du code dans le pipeline.
Pour générer le rapport de couverture du code HTML, vous avez besoin de dotnet Framework 2.0.0 ou version ultérieure sur l’agent. Le dossier dotnet doit se trouver dans le chemin d’accès de l’environnement. S’il existe plusieurs dossiers contenant dotnet, celui avec la version 2.0.0 doit être avant d’autres personnes dans la liste des chemins d’accès.
Résultats de la couverture du code pour JavaScript avec Istanbul à l’aide de YAML
Pour publier des résultats de couverture du code pour JavaScript avec Istanbul à l’aide de YAML, consultez Personnaliser les JavaScript dans la section Écosystèmes de ces rubriques, qui inclut également des exemples pour d’autres langages.
Consultez un exemple de publication de la couverture du code à l’aide de Cobertura.
Docker
Pour les applications utilisant Docker, les tests et les builds peuvent s’exécuter à l’intérieur du conteneur et générer des résultats de couverture du code dans le conteneur. Pour publier les résultats dans le pipeline, les artefacts résultants doivent être mis à la disposition des publier les résultats de la couverture du code tâche. Pour référence, vous pouvez voir un exemple similaire pour publier des résultats de test sous la Générer, tester et publier des résultats avec une section de fichier Docker pour Docker.
Afficher les résultats
Pour afficher les résultats de couverture du code dans le pipeline, consultez Examiner les résultats de couverture du code.
Les données de couverture du code sont-elles fusionnées lorsque plusieurs fichiers sont fournis en tant qu’entrée à la tâche ou que plusieurs tâches sont utilisées dans le pipeline ?
Actuellement, la fonctionnalité de création de rapports de couverture du code fournie par cette tâche est limitée et ne fusionne pas les données de couverture. Si vous fournissez plusieurs fichiers comme entrée à la tâche, seule la première correspondance est considérée. Si vous utilisez plusieurs tâches de couverture de code de publication dans le pipeline, le résumé et le rapport sont affichés pour la dernière tâche. Toutes les données précédemment chargées sont ignorées.
Problèmes connus
La tâche de résultats de la couverture du code de publication génère et publie le rapport HTML, qui est un ensemble de fichiers HTML liés à partir du fichier principal index.html. Si l’onglet Couverture du code ne parvient pas à afficher le rapport de couverture du code, vérifiez si la taille du fichier index.html est proche ou supérieure à 7 Mo. Effectuez les étapes suivantes pour vérifier la taille du fichier. Ensuite, si la taille du fichier est proche ou supérieure à 7 Mo, vous pouvez utiliser la solution de contournement suivante pour afficher le rapport de couverture.
Sélectionnez l’onglet résumé de build
, puis sélectionnez le lien publié :En regard de l’artefact Report_ de couverture du code *, sélectionnez Télécharger les artefacts:
Lorsque le rapport de couverture du code est téléchargé, extrayez le fichier .zip.
Dans le rapport de couverture du code, vérifiez la taille de index.html pour déterminer si la taille du fichier provoque le problème décrit ici.
Ouvrez index.html dans un navigateur pour afficher le rapport de couverture du code.
Exigences
Exigence | Description |
---|---|
Types de pipelines | YAML, build classique |
Exécutions sur | Agent, DeploymentGroup |
demandes | Aucun |
fonctionnalités de | Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail. |
restrictions de commande | Quelconque |
variables settables | Cette tâche est autorisée à définir les variables suivantes: la définition des variables est désactivée |
Version de l’agent | 2.182.1 ou version ultérieure |
Catégorie de tâche | Test |
Exigence | Description |
---|---|
Types de pipelines | YAML, build classique |
Exécutions sur | Agent, DeploymentGroup |
demandes | Aucun |
fonctionnalités de | Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail. |
restrictions de commande | Quelconque |
variables settables | Quelconque |
Version de l’agent | 2.102.0 ou version ultérieure |
Catégorie de tâche | Test |