springboot 多模块 单元测试Jacoco
时间: 2023-10-01 10:03:21 浏览: 114
Jacoco 是一个代码覆盖率工具,可以帮助我们衡量测试用例对代码的覆盖率,从而更好地了解代码的质量和测试的充分性。要在 Spring Boot 多模块项目中使用 Jacoco 进行单元测试,可以采取以下步骤:
1. 在每个子模块的 `pom.xml` 文件中添加 Jacoco 插件的配置,如下所示:
```
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
这段配置用于在每个子模块的测试前启动 Jacoco 插件,生成代码覆盖率报告。
2. 在父模块的 `pom.xml` 文件中添加 Jacoco 插件的配置,如下所示:
```
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
<execution>
<id>report-aggregate</id>
<phase>verify</phase>
<goals>
<goal>report-aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
这段配置用于在父模块的测试完成后,收集每个子模块的代码覆盖率数据,并生成聚合报告。
3. 进入每个子模块的目录,执行 `mvn clean test` 命令,生成代码覆盖率报告。
4. 在父模块的目录下执行 `mvn clean verify` 命令,生成聚合报告。
5. 打开聚合报告的路径,查看每个子模块的代码覆盖率数据和总体覆盖率数据。
注意:在使用 Jacoco 生成代码覆盖率报告时,需要保证测试用例覆盖到了代码的所有分支和情况,才能准确地衡量代码的覆盖率。
阅读全文