PublishCodeCoverageResults@1 - Tâche publier les résultats de la couverture du code v1

Utilisez cette tâche pour publier les résultats de couverture du 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.
# YAML Syntax is not supported in TFS 2018.
# Use the classic designer to add and configure tasks.
# See the following Inputs section for details on the inputs that this task supports.

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 les résultats de la couverture du code.


summaryFileLocation - Fichier récapitulative
string. Obligatoire.

Spécifie le chemin d’accès du fichier récapitulatif contenant les statistiques de couverture du code, telles que la couverture de ligne, de méthode et 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.


pathToSources - Chemin d’accès aux fichiers sources
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 d’accès absolu aux fichiers sources. Par exemple, les rapports JaCoCo n’utilisent pas de chemins absolus. Par conséquent, lors de la publication d’une 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 d’accès absolu aux 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.


reportDirectory - Répertoire de 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 être affiché ultérieurement 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 au 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 - Échec lorsque les résultats de la 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 des tâches

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Notes

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.

Des tâches telles que Visual Studio Test, .NET Core, Ant, Maven, Gulp et Grunt offrent également la possibilité de publier des données de couverture du 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 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 les autres dossiers 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 les résultats de la couverture du code pour JavaScript avec Istanbul à l’aide de YAML, consultez JavaScript dans la section Écosystèmes de ces rubriques, qui inclut également des exemples pour d’autres langages.

Consultez un exemple de couverture du code de publication à l’aide de Cobertura.

Docker

Pour les applications utilisant Docker, la génération et les tests 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 de la tâche Publier les résultats de la couverture du code . Pour référence, vous pouvez voir un exemple similaire pour la publication des résultats des tests sous la section Générer, tester et publier des résultats avec un fichier Docker pour Docker.

Afficher les résultats

Pour afficher les résultats de la couverture du code dans le pipeline, consultez Examiner les résultats de la 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 pour la tâche, seule la première correspondance est prise en compte. Si vous utilisez plusieurs tâches de couverture du code de publication dans le pipeline, le résumé et le rapport s’affichent pour la dernière tâche. Toutes les données précédemment chargées sont ignorées.

Problèmes connus

La tâche publier les résultats de la couverture du code génère et publie le rapport HTML, qui est un ensemble de fichiers HTML liés à partir du fichier index.html principal. 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.

  1. Sélectionnez l’onglet Résumé de la build, puis sélectionnez le lien publié :

    Capture d’écran montrant le lien publié dans le volet Résumé.

  2. En regard de l’artefact Couverture du code Report_* , sélectionnez Télécharger les artefacts :

    Capture d’écran montrant le lien Télécharger les artefacts pour le rapport de couverture du code sous Artefacts.

  3. Lorsque le rapport de couverture du code est téléchargé, extrayez le fichier .zip.

  4. Dans le rapport de couverture du code, vérifiez la taille de index.html pour déterminer si la taille du fichier est à l’origine du problème décrit ici.

  5. Ouvrez index.html dans un navigateur pour afficher le rapport de couverture du code.

Spécifications

Condition requise Description
Types de pipelines YAML, build classique
S’exécute sur Agent, DeploymentGroup
Demandes Aucun
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables 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 la tâche Test
Condition requise Description
Types de pipelines YAML, build classique
S’exécute sur Agent, DeploymentGroup
Demandes Aucun
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 2.102.0 ou version ultérieure
Catégorie de la tâche Test

Voir aussi