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