PublishCodeCoverageResults@1 - Taak codedekkingsresultaten publiceren v1

Gebruik deze taak om cobertura- of JaCoCo-codedekkingsresultaten van een build te publiceren.

Belangrijk

Deze taak is afgeschaft. Gebruikers wordt aangeraden over te schakelen naar PublishCodeCoverageResults@2. Zie Nieuwe versie van de taak Resultaten van codedekking publiceren voor meer informatie.

Gebruik deze taak om cobertura- of JaCoCo-codedekkingsresultaten van een build te publiceren.

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.

Invoerwaarden

codeCoverageTool - Hulpprogramma voor codedekking
string. Vereist. Toegestane waarden: Cobertura, JaCoCo. Standaardwaarde: JaCoCo.

Hiermee geeft u het hulpprogramma op dat de resultaten van codedekking genereert.


summaryFileLocation - Samenvattingsbestand
string. Vereist.

Hiermee geeft u het pad op van het samenvattingsbestand met codedekkingsstatistieken, zoals regel, methode en klassedekking. Meerdere overzichtsbestanden worden samengevoegd in één rapport. De waarde kan minimatchpatronen bevatten. Bijvoorbeeld: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml.


pathToSources - Pad naar bronbestanden
string.

Het opgeven van een pad naar bronbestanden is vereist wanneer XML-rapporten voor dekking geen absoluut pad naar bronbestanden bevatten. JaCoCo-rapporten gebruiken bijvoorbeeld geen absolute paden, dus bij het publiceren van JaCoCo-dekking voor Java-apps is het patroon vergelijkbaar met $(System.DefaultWorkingDirectory)/MyApp/src/main/java/. Deze invoer moet verwijzen naar een absoluut pad naar bronbestanden op de host. Bijvoorbeeld $(System.DefaultWorkingDirectory)/MyApp/.

Deze invoer kan worden gebruikt als tests worden uitgevoerd in een Docker-container.

U kunt meerdere bronnen toevoegen door elk lijstitem te scheiden van het ; teken, bijvoorbeeld pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source.


reportDirectory - Rapportmap
string.

Hiermee geeft u het pad van de HTML-rapportmap voor codedekking op. De rapportmap wordt gepubliceerd voor later weergeven als een artefact van de build. De waarde kan minimatchpatronen bevatten. Bijvoorbeeld: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura.


additionalCodeCoverageFiles - Aanvullende bestanden
string.

Hiermee geeft u het bestandspadpatroon op en noteert u eventuele aanvullende codedekkingsbestanden die moeten worden gepubliceerd als artefacten van de build. De waarde kan minimatchpatronen bevatten. Bijvoorbeeld: $(System.DefaultWorkingDirectory)/**/*.exec.


failIfCoverageEmpty - Mislukt wanneer de resultaten van de codedekking ontbreken
boolean. Standaardwaarde: false.

De taak mislukt als de codedekking geen resultaten heeft geproduceerd om te publiceren.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Besturingsopties en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Belangrijk

Deze taak is afgeschaft. Gebruikers wordt aangeraden over te schakelen naar PublishCodeCoverageResults@2. Zie Nieuwe versie van de taak Resultaten van codedekking publiceren voor meer informatie.

Notitie

Zie Nieuwe versie van de taak Resultaten van codedekking publiceren op de Azure DevOps-blog voor informatie over de nieuwe functies in V2 van de taak Resultaten van codedekking publiceren en migreren van V1 naar V2.

Gebruik deze taak in een build-pijplijn om codedekkingsresultaten te publiceren die zijn geproduceerd bij het uitvoeren van tests naar Azure Pipelines of TFS om dekkingsrapportage te verkrijgen. De taak ondersteunt populaire indelingen voor dekkingsresultaten, zoals Cobertura en JaCoCo.

Deze taak wordt alleen ondersteund in build-pijplijnen, niet in release-pijplijnen.

Taken zoals Visual Studio Test, .NET Core, Ant, Maven, Gulp en Grunt bieden ook de optie om codedekkingsgegevens naar de pijplijn te publiceren. Als u deze taken gebruikt, hebt u geen afzonderlijke taak Voor het publiceren van codedekkingsresultaten in de pijplijn nodig.

Als u het html-codedekkingsrapport wilt genereren, hebt u dotnet framework 2.0.0 of hoger op de agent nodig. De map dotnet moet zich in het omgevingspad bevinden. Als er meerdere mappen met dotnet zijn, moet de map met versie 2.0.0 vóór alle andere mappen in de padlijst staan.

Resultaten van codedekking voor JavaScript met Istanbul met behulp van YAML

Zie JavaScript aanpassen in de sectie Ecosystemen van deze onderwerpen om resultaten voor codedekking voor JavaScript met Istanbul met behulp van YAML te publiceren. Hier vindt u ook voorbeelden voor andere talen.

Bekijk een voorbeeld van het publiceren van codedekking met behulp van Cobertura.

Docker

Voor apps die Docker gebruiken, kunnen build- en tests in de container worden uitgevoerd en codedekkingsresultaten binnen de container genereren. Als u de resultaten naar de pijplijn wilt publiceren, moeten de resulterende artefacten beschikbaar worden gesteld voor de taak Resultaten van codedekking publiceren . Ter referentie ziet u een vergelijkbaar voorbeeld voor het publiceren van testresultaten in de sectie Resultaten bouwen, testen en publiceren met een Docker-bestand voor Docker.

Resultaten weergeven

Zie Resultaten van codedekking controleren om de codedekkingsresultaten in de pijplijn te bekijken.

Worden codedekkingsgegevens samengevoegd wanneer meerdere bestanden worden opgegeven als invoer voor de taak of als er meerdere taken in de pijplijn worden gebruikt?

Op dit moment is de rapportagefunctionaliteit voor codedekking die door deze taak wordt geleverd, beperkt en worden er geen dekkingsgegevens samengevoegd. Als u meerdere bestanden opgeeft als invoer voor de taak, wordt alleen de eerste overeenkomst in aanmerking genomen. Als u meerdere publicatiecodedekkingstaken in de pijplijn gebruikt, worden de samenvatting en het rapport voor de laatste taak weergegeven. Alle eerder geüploade gegevens worden genegeerd.

Bekende problemen

Met de taak voor het publiceren van codedekkingsresultaten wordt het HTML-rapport gegenereerd en gepubliceerd. Dit is een set HTML-bestanden die zijn gekoppeld vanuit het hoofdbestandindex.html . Als het codedekkingsrapport niet wordt weergegeven op het tabblad Codedekking, controleert u of de grootte van het index.html-bestand dicht bij of groter is dan 7 MB. Voer de volgende stappen uit om de grootte van het bestand te controleren. Als de bestandsgrootte dan dicht bij of groter is dan 7 MB, kunt u de volgende tijdelijke oplossing gebruiken om het dekkingsrapport weer te geven.

  1. Selecteer het tabblad Samenvatting van de build en selecteer vervolgens de gepubliceerde koppeling:

    Schermopname van de gepubliceerde koppeling in het deelvenster Samenvatting.

  2. Selecteer naast het artefact Codedekking Report_*de optie Artefacten downloaden:

    Schermopname van de koppeling Artefacten downloaden voor het codedekkingsrapport onder Artefacten.

  3. Wanneer het codedekkingsrapport wordt gedownload, extraheert u het .zip-bestand.

  4. Controleer in het codedekkingsrapport de grootte van index.html om te bepalen of de bestandsgrootte het probleem veroorzaakt dat hier wordt beschreven.

  5. Open index.html in een browser om het codedekkingsrapport weer te geven.

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Deze taak is gemachtigd om de volgende variabelen in te stellen: Het instellen van variabelen is uitgeschakeld
Agentversie 2.182.1 of hoger
Taakcategorie Testen
Vereiste Beschrijving
Pijplijntypen YAML, klassieke build
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.102.0 of hoger
Taakcategorie Testen

Zie ook