我花了好几天时间试图让SonarQube显示Maven Jacoco插件的单元测试代码覆盖率。
我卡住的错误消息是
[INFO] Analysing .../target/jacoco.exec
[WARNING] Coverage information was not collected. Perhaps you forget to include debug information into compiled classes?
目标/站点/Jacoco/index.html下的报告按预期生成,并包含行突出显示和行号。我读过,如果编译的类中不包含调试信息,那么突出显示和行号将不会显示在此报告中。
我已经阅读了Maven默认包含调试信息,但是,以防万一我在项目maven-编译器插件设置中包含以下配置
<configuration>
<debug>true</debug>
<debuglevel>lines,vars,source</debuglevel>
</configuration>
我的设置中有以下属性。xml(故意省略主机和登录名)
<properties>
<sonar.host.url></sonar.host.url>
<sonar.login></sonar.login>
<sonar.ws.timeout>300</sonar.ws.timeout>
</properties>
我的Jacoco插件配置如下。
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
我的雅各布。exec位于target/jacoco的默认位置。由SonarQube正确找到。
相关版本
马文3.2.2
Maven编译器3.5.1
Maven保险2.19.1
Java1.80_11
SonarQube服务器5.6
Jacoco Maven插件0.7.7.201606060606
麦克OS X 10.10.5
提前感谢您的帮助!
----编辑----
我正在运行以下maven命令
mvn 清洁包
mvn声纳:声纳
我已经关注了这里的文章,它只是为我工作,我只更新了代码以反映最新的JaCoCo插件版本
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.9</version>
</dependency>
并将加可可代理添加到我的POM插件中:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
<!-- JaCoCo configuration -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.9</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
并运行以下 maven 命令(在詹金斯中):
clean deploy $SONAR_MAVEN_GOAL -Dsonar.host.url=$SONAR_HOST_URL
我有sonar cube 6 . 3 . 0 . 19869,Jenkins 2.46.1,Jenkins 2.15.1中的Maven集成插件(老一点的导致了我栈中的JVM问题)。
几天来,我一直在努力将JaCoCo的报告集成到SonarQube 5.0.1中。我总是在声纳曲中阅读0.0%的覆盖率。 TeamCity 9生成了一个testresults.xml和一个jacoco.exec文件,我将其用于声纳转轮。TeamCity显示覆盖范围,因此exec文件接缝很好。Java代码分析基本上在SonarQube(FindBugs、PMD等)中工作。 我有一个仍在使用Ant构建的
我有一个项目结构,如下所示。 Cloud projects文件夹有四种类型的项目(eco-projects,evn-projects,met-projects,svn-projects) 每种类型的项目又包含四个不同的项目,比如在生态项目中,我们有生态-1-项目,生态-2-项目,生态-3-项目,生态-4-项目。
我正试图从声纳生成定制的分析报告。我正在使用sonar-ws-client。我的代码是: 我能够获得大部分值,但是总是返回。有没有办法得到7天、15天和30天的变化值?
在运行基于 Gradle 的构建和集成测试后,我在“构建/jacoco”文件夹中成功生成了 2 个 .exec 文件。 gradle命令:“gradle清洁构建集成测试” 完成后,它将在build/jacoco文件夹下生成以下.exec文件。 test.exec integrationTest.exec 以下是我的sonar-project.properties文件。当我在Linux上运行“son
我的JUnit测试覆盖范围在jenkins上构建时不会传播到声纳。声纳上的“单元测试覆盖范围”字段保持空白,但“单元测试成功”字段显示正确的值。我正在使用jacoco进行测试覆盖。在jenkins上,jacoco的报告运行良好,并在生成的html中显示了正确的覆盖率。我就是不能把它送到声纳上。 使用jenkins的Jacoco插件,我使用以下参数调用独立的声纳分析。 路径和蚁任务是正确的。也许我错