Maison  >  Article  >  Java  >  Développement Java : comment effectuer des tests de couverture de code et des rapports

Développement Java : comment effectuer des tests de couverture de code et des rapports

WBOY
WBOYoriginal
2023-09-21 12:42:11748parcourir

Développement Java : comment effectuer des tests de couverture de code et des rapports

Développement Java : Comment effectuer des tests de couverture de code et des rapports

Dans le développement Java, les tests de couverture de code sont un outil important qui peut nous aider à déterminer si les cas de test couvrent différentes parties du code, ainsi qu'à comprendre le test de code. qualité. Cet article décrit comment effectuer des tests de couverture de code et générer les rapports correspondants, et fournit des exemples de code spécifiques.

Les tests de couverture de code consistent à mesurer la couverture de chaque partie du code en exécutant des cas de test et en collectant des informations d'exécution. Dans le développement Java, les outils de test de couverture de code couramment utilisés incluent JaCoCo et Emma. Cet article utilisera JaCoCo comme exemple pour expliquer.

Étape 1 : Ajoutez le plugin JaCoCo

Tout d'abord, ajoutez le plugin JaCoCo à votre projet Java. Vous pouvez utiliser des outils de construction tels que Maven ou Gradle pour ajouter des dépendances et des configurations pertinentes au fichier pom.xml ou build.gradle du projet.

Pour les projets Maven, vous pouvez ajouter les dépendances suivantes dans le pom Puis générer un rapport de test de couverture.

Étape 2 : Exécuter le scénario de test

Après avoir écrit le scénario de test dans le projet, utilisez l'outil de construction pour exécuter la commande de test, par exemple en utilisant Maven pour exécuter la commande mvn test, ou en utilisant Gradle pour exécuter la commande ./ gradlew test. Une fois le test terminé, JaCoCo générera un rapport de test de couverture.

Étape 3 : Générer un rapport de test de couverture

Après avoir exécuté la commande test, vous pouvez trouver le rapport de test de couverture généré dans le répertoire du projet. Pour les projets Maven, les rapports sont générés par défaut dans le répertoire target/site/jacoco/ ; pour les projets Gradle, les rapports sont générés dans le répertoire build/reports/jacoco/ par défaut. mvn test命令,或使用Gradle执行./gradlew test命令。测试完成后,JaCoCo将会生成覆盖率测试报告。

步骤三:生成覆盖率测试报告

执行完测试命令后,可以在项目的目录中找到生成的覆盖率测试报告。对于Maven项目,报告默认生成在target/site/jacoco/目录下;对于Gradle项目,报告默认生成在build/reports/jacoco/

Dans le rapport généré, vous pouvez visualiser la couverture du code. Il existe généralement des indicateurs tels que la couverture des lignes, la couverture des branches et la couverture des classes.

Ensuite, examinons des exemples de code spécifiques.

Supposons que nous ayons une classe nommée Calculator, qui dispose d'une méthode add pour additionner deux nombres :

<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.5</version>
            <executions>
                <execution>
                    <id>jacoco-initialize</id>
                    <phase>initialize</phase>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>jacoco-report</id>
                    <phase>test</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Écrivons des cas de test et effectuons des tests de couverture de code.

plugins {
    id 'jacoco'
}

jacoco {
    toolVersion = '0.8.5'
}

test {
    finalizedBy jacocoTestReport
}

jacocoTestReport {
    reports {
        xml.enabled = true
        html.enabled = true
    }
}

Après avoir exécuté la commande de test, JaCoCo générera un rapport de test de couverture. En ouvrant le rapport, nous pouvons voir que dans la classe Calculatrice, la couverture des lignes de la méthode add est de 100 %, et la couverture des branches est également de 100 %.

Grâce aux tests de couverture de code et aux rapports, nous pouvons savoir si les cas de test couvrent diverses branches et situations du code, nous aidant ainsi à améliorer la qualité et la fiabilité du code.

En résumé, cet article explique comment effectuer des tests de couverture de code Java et générer les rapports correspondants Grâce à l'utilisation des outils JaCoCo, nous pouvons mieux comprendre et améliorer la qualité du code de test. Dans le même temps, des exemples de code spécifiques sont fournis pour illustrer comment appliquer les tests de couverture de code dans des projets réels.

J'espère que cet article vous sera utile !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn