91 votes

comment utiliser le rapport jacoco.exec

J'ai généré un rapport de couverture de code à partir de jacoco, qui est jacoco.exec . Mais je ne sais pas comment l'utiliser...

La façon dont je l'ai généré est par la ligne de commande :

java -javaagent:/path/to/jacocoagent.jar=include=some.package.*,output=file org.junit.runner.JUnitCore some.package.ClassTest

Puis j'ai eu le rapport jacoco.exec. Je n'ai besoin que du nombre de pourcentages, et je n'utilise que la ligne de commande. Existe-t-il un moyen de convertir ce rapport en un fichier txt lisible ?

Merci à tous

5voto

Cette réponse serait similaire à celle de @Evans Y. On peut générer des fichiers HTML (ici dans le répertoire report) et un fichier XML (nommé cov) à l'aide de la commande suivante Documentation Jacoco .

java -jar lib/jacococli.jar report jacoco.exec \
--classfiles C:\Users\severalOtherDirectories\YourProject\target\classes \
--html ./report --xml cov.xml

Rapport HTML : Ce rapport serait capable de montrer le nombre total de lignes couvertes/non couvertes au niveau de la classe ou de la méthode, mais ne sera pas capable de montrer quelle(s) ligne(s) réelle(s) est/sont couverte(s) ou non couverte(s) dans la même.

Fichier XML : Après avoir branché ce fichier généré dans le projet et avoir simplement utilisé l'extension de couverture de code de VS (je préfère Gouttières de couverture ) , on peut visualiser l'état ligne par ligne dans l'éditeur lui-même.

1voto

Shakti Garg Points 141

Nous pouvons pousser le rapport d'exécution de jacoco (créé dans le cadre de la construction maven) vers le serveur sonar(qube) en utilisant la cible de maven-sonar-plugin, sonar:sonar

mvn clean install sonar:sonar -Dsonar.host.url= http://:9000 -Dsonar.projectKey= -Dsonar.branch= -Dsonar.login= -Dsonar.password=

La valeur des propriétés sonar.projectKey et sonar.branch peut être récupérée à partir du projet correspondant créé dans sonarqube.

0voto

Youness Points 45

Si vous utilisez maven, utilisez l'objectif report-aggregate.

Voir le lien ci-dessous :

rapport agrégé objectif maven

Voici un extrait de mon fichier maven pom.xml

            <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.2</version>
            <executions>
                <execution>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>report-aggregate</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions

Le fichier de rapport csv a été généré sous : site/jacoco/jacoco.csv

0voto

Arthas Points 231

Pour voir cela dans IntelliJ Idea, dans la barre de menu, sélectionnez Run > Show Code Coverage Data . Dans la nouvelle fenêtre ( Choisissez la suite de couverture à afficher ), appuyez sur le bouton + et sélectionnez votre fichier .exec. Les résultats de la couverture du test apparaîtront dans l'onglet Couverture de l'éditeur.

Pour générer les fichiers de rapport de couverture pour le fichier .exec ci-dessus, sélectionnez Exécuter > Générer un rapport de couverture . Sélectionnez ensuite votre répertoire de sortie et cliquez sur Enregistrer. Vos rapports seront générés dans le dossier sélectionné. Ouvrez le fichier index.html dans le dossier pour afficher les résultats sur le navigateur. J'utilise IntelliJ IDEA 2019.3.4 (Community Edition).

0voto

JavaJd Points 375

Pour une raison quelconque, je n'ai pas réussi à faire fonctionner EclEmma et Jacoco avec Eclipse comme on me l'avait suggéré, alors je suis tombé sur la solution suivante.

  1. Assurez-vous que vous avez ajouté le plugin jacoco comme dépendance au pom maven.
  2. Ouvrez Run Configurations... ajoutez un nouveau build Maven au projet sur lequel vous travaillez.
  3. utilisez ce qui suit comme objectifs : clean test jacoco:report
  4. Appliquez et exécutez, rafraîchissez votre répertoire /target et maintenant vous devriez voir /target/site/jacoco
  5. Dans le répertoire jacoco, trouvez index.html, faites un clic droit et sélectionnez Ouvrir avec... et choisissez Navigateur Web.
  6. Votre jacoco.exec est maintenant entièrement navigable dans Eclipse via le navigateur Web.
  7. Effectuez une modification de la couverture du code, exécutez la tâche de construction Maven que vous avez configurée, rafraîchissez le navigateur et vous devriez voir la différence.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X