【发布时间】:2020-11-07 01:27:58
【问题描述】:
我有一个多模块 Maven 项目,其中覆盖率报告位于覆盖的 Java 类之外的另一个模块中。将非空 xml 覆盖率报告(带有覆盖率信息)导入 Sonarqube 是成功的,但显示覆盖率为 0。
重现步骤:
- 在github project 之后结帐并使用
mvn clean verify构建它。之后,存在位于coverage/target/site/jacoco-aggregate-all/jacoco.xml的聚合 xml 报告。您可以在其中以及相应的 html-Report 中查看覆盖率数据。
- 使用以下命令启动 sonarqube(当前版本 8.4.1)并稍等片刻。
docker run -d -p 9000:9000 sonarqube
编辑:插件“JaCoco xml 报告导入器”已安装在此图像中。
- 使用以下(详细)命令发布覆盖率数据。报告导入成功(见日志)。
mvn sonar:sonar -X -Dsonar.projectKey=example -Dsonar.host.url=http://localhost:9000 -Dsonar.login=admin -Dsonar.password=admin -Dsonar.coverage.jacoco.xmlReportPaths=target/site/jacoco-aggregate-all/jacoco.xml
## Log output contains
...
10:54:28.519 Reading report '<project-path>\maven-multimodule-coverage\coverage\target\site\jacoco-aggregate-all\jacoco.xml'
...
- 浏览至
http://localhost:9000/dashboard?id=example。您会看到 0 的覆盖率。
我做错了什么?
【问题讨论】:
标签: sonarqube code-coverage jacoco jacoco-maven-plugin