Partage via


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

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.

  1. Sélectionnez l’onglet résumé de 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 Report_ de couverture du code *, 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 provoque le problème décrit ici.

  5. 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

Voir aussi