You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala多模块Maven项目Scoverage跨模块覆盖率统计配置咨询

解决跨模块Scoverage覆盖率统计问题

当然可以实现!你遇到的问题是因为默认情况下Scoverage只会对当前模块(模块A)的代码进行覆盖率统计,不会自动包含依赖模块(模块B)的代码。要让YYY方法也被统计到,需要调整Scoverage的Maven插件配置,让它对依赖模块的代码也进行插桩和覆盖率计算。

下面是具体的配置步骤:

1. 在模块A的pom.xml中配置Scoverage插件

找到scoverage-maven-plugin的配置块,添加以下关键参数,确保插件能识别并统计模块B的代码:

<plugin>
    <groupId>org.scoverage</groupId>
    <artifactId>scoverage-maven-plugin</artifactId>
    <version>${scoverage.version}</version>
    <configuration>
        <!-- 开启依赖模块的覆盖率统计核心开关 -->
        <includeDependencies>true</includeDependencies>
        <!-- 精确指定要统计的依赖模块(避免统计无关第三方依赖) -->
        <dependencyIncludes>
            <dependencyInclude>你的项目groupId:moduleB</dependencyInclude>
        </dependencyIncludes>
        <!-- 设置依赖范围,确保模块B的代码在编译/测试阶段能被加载 -->
        <includeDependencyScopes>
            <includeDependencyScope>compile</includeDependencyScope>
            <includeDependencyScope>test</includeDependencyScope>
        </includeDependencyScopes>
        <!-- 明确指定模块B的类路径,确保被正确插桩 -->
        <instrumentation>
            <includes>
                <include>你的项目包路径/moduleB/**/*.class</include>
            </includes>
        </instrumentation>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>report</goal>
            </goals>
            <phase>test</phase>
        </execution>
    </executions>
</plugin>

2. 确保模块B的依赖配置正确

模块A的pom.xml中必须正确声明对模块B的依赖,保证编译和测试阶段能访问到模块B的代码:

<dependency>
    <groupId>你的项目groupId</groupId>
    <artifactId>moduleB</artifactId>
    <version>${project.version}</version>
    <scope>compile</scope>
</dependency>

先执行mvn clean install编译所有模块,确保模块B的class文件能被模块A正常加载。

3. 重新生成覆盖率报告

运行以下命令重新生成包含跨模块数据的覆盖率报告:

mvn clean scoverage:report

额外排查点

如果配置后YYY方法仍显示未覆盖,可以检查:

  • 确认模块A的集成测试确实调用到了YYY方法(可以通过日志或debug验证)
  • 确保使用的Scoverage版本是较新的,旧版本可能存在跨模块统计的兼容性问题

内容的提问来源于stack exchange,提问作者Boris Parnikel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:03:59