Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 单元测试覆盖率未显示在Sonarqube上-通过Jenkins Sonar插件运行-测试成功正确显示_Unit Testing_Maven_Junit_Jenkins_Sonarqube - Fatal编程技术网

Unit testing 单元测试覆盖率未显示在Sonarqube上-通过Jenkins Sonar插件运行-测试成功正确显示

Unit testing 单元测试覆盖率未显示在Sonarqube上-通过Jenkins Sonar插件运行-测试成功正确显示,unit-testing,maven,junit,jenkins,sonarqube,Unit Testing,Maven,Junit,Jenkins,Sonarqube,我目前正在使用jenkins为我的项目构建一个不同模块的列表。我使用Maven触发构建。我已将sonarqube安装在服务器上,并已正确设置,以便在构建模块时,它会显示在sonarqube上,并包括所有基本细节,如代码行、技术债务等。所有模块都有针对它们运行的Junit测试,sonarqube通过表示单元测试成功率为100%来显示这一点,它还表示在该模块中运行的测试数量。但是,我无法让单元测试覆盖率字段显示任何内容,对于所有模块,它都是空的 下面是我的pom.xml中的一个模块 customer

我目前正在使用jenkins为我的项目构建一个不同模块的列表。我使用Maven触发构建。我已将sonarqube安装在服务器上,并已正确设置,以便在构建模块时,它会显示在sonarqube上,并包括所有基本细节,如代码行、技术债务等。所有模块都有针对它们运行的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 Sonaqube插件v.2.1, Maven v3.2.5

正如我在开始时所说的,单元测试成功率确实显示了成功,因此我相信只需要一个小的改变,就可以让单元测试覆盖率字段正常工作


任何帮助都将不胜感激

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

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


有关更多信息,请参阅。

您使用的覆盖率引擎?如何生成覆盖率报告?