我有一个使用 maven 配置的庞大代码库。我的代码库分为不同的 Maven 模块,因此我有一个主 pom 文件,每个子模块都有自己的 pom 文件。但是这些模块仍然调用彼此的功能。为每个模块编写 Junit 测试。我正在使用 Cobertura 生成代码覆盖率。它为每个模块生成单独的覆盖率报告。当 Cobertura 为模块 A 生成代码覆盖率并且来自模块 A 的特定代码被来自模块 B 的测试调用时。在这种情况下,Cobertura 将模块 A 中的代码标记为未覆盖。这是预期的行为吗?还是我配置错误?
Maven - 子模块中的 Cobertura 配置:
构建部分:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>${org.codehaus.mojo.cobertura-maven-plugin.version}</version>
</plugin>
报告部分:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>${org.codehaus.mojo.cobertura-maven-plugin.version}</version>
<configuration>
<formats>
<format>xml</format>
</formats>
</configuration>
</plugin>
运行 Cobertura 报告的命令:
mvn cobertura:cobertura