java代码覆盖率测试工具 java 覆盖率
转载
测试是软件开发生命周期中最重要的部分。未经测试,软件无法部署。为了测试 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 应用程序并生成代码覆盖率报告。
程序:
- 创建一个简单的 Java 应用程序
- 在应用程序中记下一些测试用例
- 添加 JaCoCo maven 插件
- 添加 JaCoCo 插件后更新代码
- 添加依赖项后单击Maven选项
- 选择清洁并测试
- S选择运行按钮(绿色三角形)
- 导航代码覆盖率。
分步实施
第 1 步:创建一个简单的 Java 应用程序,并使用 Junit 在应用程序内部编写一些测试用例,或者您也可以使用 Mockito。
相关文章:您可以参考这篇文章How to Write Test Cases in Java Application using Mockito and Junit?并创建一个示例项目。
第 2 步:将 JaCoCo maven 插件添加到您的pom.xml文件中。
JaCoCo 的插件如下:
<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 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是你的代码代码覆盖率报告文件。
所以你可以看到你的报告会像这样显示,百分比完全取决于你是如何编写测试用例的。
注意:绿色表示已覆盖所有代码行,这意味着您已为所有单元编写了测试用例。如果您遇到黄色线,则部分代码已被覆盖,如果您遇到红色,则代码尚未被覆盖。
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。