0
点赞
收藏
分享

微信扫一扫

如何在 Java 应用程序中使用 JaCoCo 生成代码覆盖率报告?

测试是软件开发生命周期中最重要的部分。未经测试,软件无法部署。为了测试 Java 应用程序,我们主要使用 Junit。JUnit 框架是一个用于测试的 Java 框架。现在,当需要在 Java 中执行测试时,JUnit 被用作标准。但是什么是代码覆盖率,什么是 JaCoCo?代码覆盖率是一种软件指标,用于衡量在自动化测试期间执行了多少行代码。换句话说,我们也可以说代码覆盖率描述了自动化测试覆盖的代码百分比,它检查哪些代码部分在测试套件期间运行,哪些不运行。 

JaCoCo 代表Ja va Co de Co verage 。它是一个免费的 Java 代码覆盖库,由 EclEmma 团队创建。它创建代码覆盖率报告,并与 IntelliJ IDEA、Eclipse IDE 等 IDE 很好地集成。JaCoCo 还与 Jenkins、Circle CI 等 CI/CD 工具以及 SonarQube 等项目管理工具集成。所以在本文中,我们将在 JaCoCo maven 插件的帮助下创建一个示例 Java 应用程序并生成代码覆盖率报告。 

程序:

  1. 创建一个简单的 Java 应用程序
  2. 在应用程序中记下一些测试用例
  3. 添加 JaCoCo maven 插件
  4. 添加 JaCoCo 插件后更新代码
  5. 添加依赖项后单击Maven选项
  6. 选择清洁测试
  7. S选择运行按钮(绿色三角形)
  8. 导航代码覆盖率。

分步实施

第 1 步:创建一个简单的 Java 应用程序,并使用 Junit 在应用程序内部编写一些测试用例,或者您也可以使用 Mockito。 

第 2 步:将 JaCoCo maven 插件添加到您的pom.xml文件中。 

JaCoCo 的插件如下: 

  • XML

<build>

        <plugins>

            <plugin>

                <groupId>org.jacoco</groupId>

                <artifactId>jacoco-maven-plugin</artifactId>

                <version>0.8.5</version>

                <executions>

                    <execution>

                        <goals>

                            <goal>prepare-agent</goal>

                        </goals>

                    </execution>

                    <!-- attached to Maven test phase -->

                    <execution>

                        <id>report</id>

                        <phase>test</phase>

                        <goals>

                            <goal>report</goal>

                        </goals>

                    </execution>

                </executions>

            </plugin>

        </plugins>

</build>

 

 

以下是添加 JaCoCo 插件后pom.xml文件的更新代码。

  • XML

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

 

    <groupId>org.example</groupId>

    <artifactId>mockito-demo</artifactId>

    <version>1.0-SNAPSHOT</version>

 

    <dependencies>

        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.8.2</version>

        </dependency>

        <dependency>

            <groupId>org.mockito</groupId>

            <artifactId>mockito-all</artifactId>

            <version>2.0.2-beta</version>

        </dependency>

    </dependencies>

 

    <build>

        <plugins>

            <plugin>

                <groupId>org.jacoco</groupId>

                <artifactId>jacoco-maven-plugin</artifactId>

                <version>0.8.5</version>

                <executions>

                    <execution>

                        <goals>

                            <goal>prepare-agent</goal>

                        </goals>

                    </execution>

                    <!-- attached to Maven test phase -->

                    <execution>

                        <id>report</id>

                        <phase>test</phase>

                        <goals>

                            <goal>report</goal>

                        </goals>

                    </execution>

                </executions>

            </plugin>

        </plugins>

    </build>

 

    <properties>

        <maven.compiler.source>11</maven.compiler.source>

        <maven.compiler.target>11</maven.compiler.target>

    </properties>

 

</project>

第 3 步:添加依赖项后,单击右上角的Maven选项,如下图所示。然后选择清洁测试,然后选择运行按钮(绿色三角形)。 

 

 

现在您可以看到您的测试结果,如下图所示。并且您的代码覆盖率报告已经生成。但是哪里?请参阅步骤 4。 

 

 

第 4 步:要获得代码覆盖率报告,请导航到目标 > 站点 > jacoco > index.html > 右键单击​​ > 打开方式 > 浏览器 > 以及您的首选浏览器。所以基本上index.html是你的代码代码覆盖率报告文件。 

 

 

举报

相关推荐

0 条评论