Sonarqube 单元测试覆盖率和单元测试数量显示问题

2,663 阅读1分钟

Sonarqube本身不计算覆盖率和单元测试数,它依赖于第三方工具生成的报告。其中单元测试覆盖率依赖jacoco插件生成的jacoco.xml(老版本依赖jacoco.exec),单元测试数量依赖maven-surefire-plugin生成的报告(target/surefire-reports目录下的文件)。

默认情况下这些报告路径无需手动指定,sonar-scanner可以扫到,但是如果你项目的目录结构复杂 嵌套太深,或者变更了报告默认输出位置 则需要在scanner执行时通过参数指定报告位置。

指定 jacoco生成的覆盖率报告位置 sonar.coverage.jacoco.xmlReportPaths = build/reports/jacoco/test/jacocoTestReport.xml

指定 surefire-plugin 报告位置 sonar.junit.reportPaths=ecommerce-consumer/ecommerce-consumer-mybmw/target/surefire-reports

image.png