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.

Important

Cette tâche est dépréciée. Il est recommandé aux utilisateurs de basculer vers PublishCodeCoverageResults@2. Pour plus d’informations, consultez Nouvelle version de la tâche Publier les résultats de la couverture du code.

Utilisez cette tâche pour publier les résultats de couverture du code Cobertura ou JaCoCo à partir d’une build.

Syntax

# Publish code coverage results v1
# [DEPRECATION WARNING! Users are recommended to switch to version 2*.] 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. 
    #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écapitulative contenant des 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 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 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.

Plusieurs sources peuvent être ajoutées en dé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 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 l’afficher 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 produit aucun résultat à publier.


Options de contrôle de la tâche

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

Important

Cette tâche est dépréciée. Il est recommandé aux utilisateurs de basculer vers PublishCodeCoverageResults@2. Pour plus d’informations, consultez Nouvelle version de la tâche Publier les résultats de la couverture du code.

Notes

Consultez Nouvelle version de la tâche Publier les résultats de la couverture du code sur le blog Azure DevOps pour plus d’informations sur les nouvelles fonctionnalités dans V2 de la tâche Publier les résultats de la couverture du code et sur la migration de V1 vers V2.

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 Publier les résultats de couverture du code distincte 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 les autres 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 Personnaliser JavaScript dans la section Écosystèmes de ces rubriques, qui comprend également des exemples pour d’autres langages.

Consultez un exemple de couverture de 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 de publication des résultats de test 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 Passer en revue 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 ?

À l’heure actuelle, 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 prise en compte. Si vous utilisez plusieurs tâches de couverture de 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 mainindex.html. Si l’onglet Couverture du code ne parvient pas à afficher le rapport de couverture du code, case activée si la taille du fichier index.html est proche ou supérieure à 7 Mo. Effectuez les étapes suivantes pour case activée 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 De 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, case activée 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.

Configuration requise

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

Voir aussi