
[英]Code coverage 0% with sonarqube 8.9 upgrade - scala project
[英]Sonarqube, getting Zero Code Coverage for scala project
我正在扫描 scala 多模块项目。 我得到的模块报告为:
[INFO] Statement coverage.: 36.07%
[INFO] Branch coverage....: 6.25%
[INFO] Coverage reports completed.
[DEBUG] Mojo execution time: 2516 ms
但仍然得到
[DEBUG] 08:48:16.724 Sensors : Zero Coverage Sensor
[INFO] 08:48:16.725 Sensor Zero Coverage Sensor
[INFO] 08:48:16.756 Sensor Zero Coverage Sensor (done) | time=31ms
声纳仪表板上的覆盖率报告为 0%
jacoco.exec 和 jacoco.xml 报告也正在生成。
以下是pom的部分:
<!-- Sonar -->
<sonar.version>3.7.0.1746</sonar.version>
<jacoco.version>0.7.9</jacoco.version>
<sonar.projectName>abc</sonar.projectName>
<sonar.projectDescription>abc:xyz</sonar.projectDescription>
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
<sonar.jacoco.reportPaths>jacoco.exec</sonar.jacoco.reportPaths>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.language>scala</sonar.language>
<sonar.sources>src/main/scala</sonar.sources>
<sonar.binaries>target/classes</sonar.binaries>
<sonar.inclusions>**/*.scala</sonar.inclusions>
<sonar.exclusions>src/test/**</sonar.exclusions>
<scoverage.plugin.version>1.4.1</scoverage.plugin.version>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.scala.coveragePlugin>jacoco</sonar.scala.coveragePlugin>
<sonar.scala.coverage.reportPath>target/scoverage.xml</sonar.scala.coverage.reportPath>
<sonar.coverage.jacoco.xmlReportPaths>${project.build.directory}/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
<junit.version>4.11</junit.version>
<!-- Sonar -->
.
.
.
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>jacoco.exec</include>
</includes>
</resource>
</resources>
</configuration>
.
.
.
<!-- Sonar -->
<build>
<resources>
<resource>
<directory>/src/main/resources</directory>
</resource>
<resource>
<directory>/src/test/resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resource-plugin.version}</version>
<configuration>
<includeEmptyDirs>true</includeEmptyDirs>
</configuration>
<executions>
<execution>
<id>copy-resource</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>jacoco.exec</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-test-resource</id>
<phase>process-resources</phase>
<goals>
<goal>testResources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
<resources>
<resource>
<directory>src/test/resources</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<argLine>-XX:-UseSplitVerifier -Djava.net.preferIPv4Stack=true -Xms256m
-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m
</argLine>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>${maven-release-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.6</version>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
<append>true</append>
</configuration>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>post-unit-test</id>
<phase>test</phase>
<goals>
<goal>report-aggregate</goal>
</goals>
<configuration>
<dataFile>jacoco.exec</dataFile>
<outputEncoding>UTF-8</outputEncoding>
<outputDirectory>${project.build.directory}</outputDirectory>
<systemPropertyVariables>
<jacoco-agent.destfile>jacoco.exec</jacoco-agent.destfile>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
我错过了什么? 我正在努力获得声纳仪表板上的代码覆盖率。 请帮忙..
不确定这是否相同,但我们在使用Scoverage
时遇到了类似的问题,并且该问题与生成报告的路径有关,看来SonarCloud
正在寻找不同的路径。 我们通过替换这样的路径来解决它:
sed -i -e 's/\/home\/github\/_work\/my-scala-project\/my-scala-project\/src/\/github\/workspace\/src/g' target/scala-2.13/scoverage-report/scoverage.xml
在我们的例子中,路径对应于 GitHub 动作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.