具有多模块 Maven 项目的 JaCoCo - 仅记录模块拥有的测试的覆盖率
JaCoCo with multi-module Maven project - Only record coverage by module owned tests
我们有一个包含大约 50 个模块的大型 Maven 项目。今天我们有一个很好的设置,我们可以获得整个项目的组合 JaCoCo 覆盖。我们还将 JaCoCo 生成的最终二进制文件用于自定义覆盖逻辑。
我们想实施更严格的覆盖政策,其中 只有 同一模块中的测试有助于整体覆盖。我们希望每个模块都负责自己的测试和覆盖。
例如。模块 A 依赖于模块 B。A 的代码使用了 B 中的代码。当 A 中的测试为 运行 时,我们 不 想要覆盖任何 class在B记录。
这个设置可行吗?尝试一下,我发现 JaCoCo 在生成最终报告时有很多过滤选项,但我想在收集覆盖率时在第一步中执行此操作。
最终,我想在每个模块的目标目录中得到一个 JaCoCo exec 文件,该文件只有 classes 从它自己的模块中记录下来。如果我们必须在逐个模块的基础上进行一些配置,比如包含一个显式的包表达式,那就太好了。
Trying around, I find that JaCoCo has many options for filtering when generating the final report, but I'd like to do this in the first step, when the coverage is collected.
还有收集期间过滤的选项 - see includes
and excludes
options of JaCoCo Java Agent and corresponding options of prepare-agent
in jacoco-maven-plugin
。
我们有一个包含大约 50 个模块的大型 Maven 项目。今天我们有一个很好的设置,我们可以获得整个项目的组合 JaCoCo 覆盖。我们还将 JaCoCo 生成的最终二进制文件用于自定义覆盖逻辑。
我们想实施更严格的覆盖政策,其中 只有 同一模块中的测试有助于整体覆盖。我们希望每个模块都负责自己的测试和覆盖。
例如。模块 A 依赖于模块 B。A 的代码使用了 B 中的代码。当 A 中的测试为 运行 时,我们 不 想要覆盖任何 class在B记录。
这个设置可行吗?尝试一下,我发现 JaCoCo 在生成最终报告时有很多过滤选项,但我想在收集覆盖率时在第一步中执行此操作。
最终,我想在每个模块的目标目录中得到一个 JaCoCo exec 文件,该文件只有 classes 从它自己的模块中记录下来。如果我们必须在逐个模块的基础上进行一些配置,比如包含一个显式的包表达式,那就太好了。
Trying around, I find that JaCoCo has many options for filtering when generating the final report, but I'd like to do this in the first step, when the coverage is collected.
还有收集期间过滤的选项 - see includes
and excludes
options of JaCoCo Java Agent and corresponding options of prepare-agent
in jacoco-maven-plugin
。