Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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
Java 在Maven项目上配置Sonar 6.2代码覆盖率_Java_Maven_Sonarqube_Code Coverage - Fatal编程技术网

Java 在Maven项目上配置Sonar 6.2代码覆盖率

Java 在Maven项目上配置Sonar 6.2代码覆盖率,java,maven,sonarqube,code-coverage,Java,Maven,Sonarqube,Code Coverage,我有相当标准的Maven多模块项目(包括JUnit、Arquillian和Selenium测试)。我在服务器上安装了Sonar 6.2。在我的声纳项目中,代码覆盖率指标显示为0.0%。但我知道这是错误的,因为我确实有一些测试覆盖范围 我发现这可以解释为什么6.2 Sonar支持开箱即用的代码覆盖率,我必须将一个以逗号分隔的报告路径列表传递给参数Sonar.coverageReportPaths(我想是在pom或命令行中提供的) 我同意。但是我找不到一个关于如何为一个非常经典的Java项目设置它的

我有相当标准的Maven多模块项目(包括JUnit、Arquillian和Selenium测试)。我在服务器上安装了Sonar 6.2。在我的声纳项目中,代码覆盖率指标显示为0.0%。但我知道这是错误的,因为我确实有一些测试覆盖范围

我发现这可以解释为什么6.2 Sonar支持开箱即用的代码覆盖率,我必须将一个以逗号分隔的报告路径列表传递给参数
Sonar.coverageReportPaths
(我想是在pom或命令行中提供的)


我同意。但是我找不到一个关于如何为一个非常经典的Java项目设置它的例子。我需要在列表中提供什么样的文件?我的每个Surefire/Failsafe报告的相对路径?我还需要生成Jacoco报告吗?如果我所有的报告都有相同的名称,我能否给出一个“通用”路径,如
report.xml

对于标准Java项目,使用JaCoCo生成覆盖率数据并将其提供给SonarJava(SonarQube分析Java代码的插件)可能是最简单的方法。您可以在这里找到文档

您可能会发现有人提到单元测试和集成测试之间的分离,这已经被弃用了,现在只有一种覆盖


如果有什么不清楚的地方,请随时联系邮件列表或提问。我们正在改进此文档。

计划升级到SonarQube 6.7 LTS版本。@JeroenHeier升级到Sonar 6.7 LTS会有什么帮助?谢谢您的回答。因此,如果我理解正确,我必须首先在我的项目上配置JaCoCo覆盖范围,然后将
sonar.junit.reportPaths
sonar.JaCoCo.reportPaths
设置为sonar执行的参数,并最终将
sonar.coverageReportPaths
设置为sonar执行(不确定最后一部分是否必要)?最后一部分不是必需的,您可以使用JaCoCo覆盖范围或通用覆盖范围,同时使用这两种覆盖范围是没有意义的。对于Java项目,我建议坚持使用JaCoCo