Delen via


PublishCodeCoverageResults@1 - Resultaten van codedekking publiceren v1-taak

Gebruik deze taak om de resultaten van de cobertura- of JaCoCo-codedekking van een build te publiceren.

Publiceer cobertura- of JaCoCo-codedekkingsresultaten van een build.

Gebruik deze taak om de resultaten van de cobertura- of JaCoCo-codedekking van een build te publiceren.

Syntaxis

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

Ingangen

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

Hiermee geeft u het hulpprogramma waarmee codedekkingsresultaten worden gegenereerd.


summaryFileLocation - samenvattingsbestand
string. Vereist.

Hiermee geeft u het pad op van het overzichtsbestand 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 van 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.

Meerdere bronnen kunnen worden toegevoegd door elk lijstitem te scheiden met 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 de 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.

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


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Gebruik deze taak in een build-pijplijn om resultaten van codedekking te publiceren die worden 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, Gulpen Grunt bieden ook de mogelijkheid 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.

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

Resultaten van codedekking voor JavaScript met Istanbul met behulp van YAML

Zie JavaScript- aanpassen in de sectie Ecosystemen van deze onderwerpen, waaronder voorbeelden voor andere talen voor het publiceren van codedekkingsresultaten voor JavaScript met Istanbul.

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

Dokwerker

Voor apps die Docker gebruiken, kunnen build- en tests worden uitgevoerd in de container en codedekkingsresultaten genereren binnen de container. Als u de resultaten naar de pijplijn wilt publiceren, moeten de resulterende artefacten beschikbaar worden gesteld aan de Publicatiecodedekkingsresultaten taak. Ter referentie ziet u een vergelijkbaar voorbeeld voor het publiceren van testresultaten onder de Build, test en publish results with a Docker file section for Docker.

Resultaten weergeven

Zie De resultaten van de codedekking bekijkenom de resultaten van de codedekking in de pijplijn weer te geven.

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

Op dit moment is de functionaliteit van de codedekkingsrapportage die door deze taak wordt geboden, beperkt en worden dekkingsgegevens niet samengevoegd. Als u meerdere bestanden opgeeft als invoer voor de taak, wordt alleen de eerste overeenkomst overwogen. Als u meerdere taken voor het publiceren van codedekking in de pijplijn gebruikt, wordt de samenvatting en het rapport weergegeven voor de laatste taak. 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 hoofdbestand index.html. Als het tabblad Codedekking het codedekkingsrapport niet kan weergeven, controleert u of de grootte van het bestand index.html bijna 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 Build Summary en selecteer vervolgens de gepubliceerde koppeling:

    Schermopname van de gepubliceerde koppeling in het deelvenster Samenvatting.

  2. Selecteer naast het artefact Code Coverage 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.

Eisen

Eis Beschrijving
Pijplijntypen YAML, klassieke build
Wordt uitgevoerd op Agent, DeploymentGroup
eisen Geen
mogelijkheden Deze taak voldoet niet aan de vereisten voor volgende taken in de taak.
opdrachtbeperkingen Enig
variabelen instellen Deze taak is gemachtigd om de volgende variabelen in te stellen : Variabelen instellen is uitgeschakeld
Agentversie 2.182.1 of hoger
Taakcategorie Test
Eis Beschrijving
Pijplijntypen YAML, klassieke build
Wordt uitgevoerd op Agent, DeploymentGroup
eisen Geen
mogelijkheden Deze taak voldoet niet aan de vereisten voor volgende taken in de taak.
opdrachtbeperkingen Enig
variabelen instellen Enig
Agentversie 2.102.0 of hoger
Taakcategorie Test

Zie ook