查看方式是官网给出的变更日志:https://www.jacoco.org/jacoco/trunk/doc/changes.html
可以看到 0.8.11 版本开始支持了 jdk21。
0.8.9 版本支持了 jdk19 和 jdk20。
0.8.8 版本支持了 jdk17 和 jdk18。
非直链入口:
JaCoCo 是一个开源的 Java 代码覆盖率工具,用于帮助开发人员衡量其代码的测试覆盖率。相关内容扩展:
1. 代码覆盖率
代码覆盖率是衡量软件测试质量的一种指标,它描述了被测试代码中被测试覆盖到的部分比例。主要包括以下几种类型:
- 行覆盖率( Line Coverage ):被测试覆盖到的源代码行数占总代码行数的比例。
- 分支覆盖率( Branch Coverage ):被测试覆盖到的分支数占总分支数的比例。
- 方法覆盖率( Method Coverage ):被测试覆盖到的方法数占总方法数的比例。
- 类覆盖率( Class Coverage ):被测试覆盖到的类数占总类数的比例。
2. JaCoCo 的功能
JaCoCo 提供了以下功能来帮助开发人员进行代码覆盖率分析:
- 代码分析:分析源代码,生成测试覆盖率报告。
- 集成测试框架:与主流的测试框架(如 JUnit 、 TestNG )无缝集成,可以直接在测试代码中使用 JaCoCo 进行代码覆盖率测试。
- 命令行工具:提供命令行工具,可以通过命令行对代码进行覆盖率分析。
- 插件支持:提供了 Maven 插件、 Ant 插件和 Gradle 插件,方便在构建过程中集成 JaCoCo 。
3. 使用步骤
使用 JaCoCo 进行代码覆盖率分析一般包括以下几个步骤:
- 1 . 集成 JaCoCo 插件:如果是使用 Maven 、 Ant 或 Gradle 构建项目,需要将 JaCoCo 插件集成到项目中。
- 2 . 执行测试:运行项目的测试套件,生成测试结果。
- 3 . 生成覆盖率报告:使用 JaCoCo 工具分析测试结果,生成代码覆盖率报告。
- 4 . 查看报告:查看生成的覆盖率报告,了解项目中各部分的代码覆盖率情况。
4. 覆盖率报告
JaCoCo 生成的覆盖率报告通常包括以下内容:
- 总体概览:显示整体代码覆盖率的概要信息,如行覆盖率、分支覆盖率等。
- 源代码视图:显示源代码中每一行的覆盖情况,标识出哪些行被测试覆盖到,哪些行未被测试覆盖到。
- 分支覆盖情况:显示分支覆盖率的详细信息,包括哪些分支被测试覆盖到,哪些分支未被测试覆盖到。
- 方法覆盖情况:显示方法覆盖率的详细信息,包括哪些方法被测试覆盖到,哪些方法未被测试覆盖到。
5. 与测试框架集成
JaCoCo 可以与主流的测试框架(如 JUnit 、 TestNG )无缝集成,可以直接在测试代码中使用 JaCoCo 进行代码覆盖率测试。例如,在 JUnit 中可以通过 @RunWith(JacocoRunner.class)
注解来指定使用 JaCoCo 运行测试。
6. 常用命令和插件
- 命令行工具: JaCoCo 提供了
exec
命令和 report
命令来执行代码覆盖率分析和生成覆盖率报告。 - Maven 插件:使用 Maven 构建项目时,可以使用
jacoco-maven-plugin
插件来集成 JaCoCo 。 - Ant 插件:使用 Ant 构建项目时,可以使用
jacocoant
插件来集成 JaCoCo 。 - Gradle 插件:使用 Gradle 构建项目时,可以使用
jacoco
插件来集成 JaCoCo 。