Sonarqube上没有显示单元测试覆盖率-运行Jenkins Sonar插件-测试成功显示正确



我目前正在使用jenkins为我的项目构建一个不同模块的列表。我使用Maven触发构建。我已经在服务器上安装了sonarqube,并对其进行了正确设置,以便在构建模块时,它会显示在sonarqu贝上,并包括所有基本细节,如代码行、技术债务等。所有模块都有针对它们运行的Junit测试,sonarqube通过表示单元测试成功率为100%来显示这一点,它还表示在该模块中运行的测试数量。然而,我无法让单元测试覆盖率字段显示任何内容,并且它对于所有模块都是空白的。

这是我的pom.xml 中的一个应用程序(一个模块)

customer.sonar.projectBaseDir=.
customer.sonar.sources=D:/TFS/WorkSpace/DEV_2_HYBRID/APP_FO/application/customer/src/main/java
customer.sonar.Hybrid=Customer
customer.sonar.tests=D:/TFS/WorkSpace/DEV_2_HYBRID/APP_FO/application/customer/target/surefire-reports
customer.sonar.junit.reportsPath=D:/TFS/WorkSpace/DEV_2_HYBRID/APP_FO/application/customer/target/surefire-reports

我使用的软件版本如下:Sonarqube v.5.0,Jenkins Sonarqube插件v.2.1,Maven v3.2.5

正如我在一开始所说的,单元测试的成功率确实很成功,所以我相信这只是一个小的改变,就能让单元测试覆盖范围发挥作用。

任何帮助都将不胜感激!

您需要执行您选择的覆盖率引擎,并通过适当的属性将报告提供给SonarQube。

如果您使用的是JaCoCo,则报告导入器嵌入在java插件中,对于其他覆盖引擎(clover、cobertura…),您必须安装专用插件。

有关更多信息,请参阅文档的专用页面。

最新更新