SonarQube 4.4 不显示带有 spock 测试的 grails 2.4.3 的 cobertura 单元测试或代码覆盖率

2024-03-07

我的机器上安装了 SonarQube 4.4。我正在尝试为 grails (2.4.3) 项目生成指标,该项目具有用 Spock 框架编写的测试。但是,声纳不显示单元测试结果或单元测试覆盖范围。

我验证了 coberturacoverage.xml 是在下面提供的路径中生成的

目标/测试报告/cobertura/coverage.xml

我有

sonar.groovy.cobertura.reportPath

我的 pom.xml 中的属性映射到上面的路径。

Running

mvn sonar:sonar (maven version 3.2.3)

该项目成功完成,控制台日志显示正在解析的coverage.xml。

然而,当我在声纳中查看项目时,我只看到静态代码分析指标,但没有单元测试或单元测试覆盖率。

我还尝试使用 sonar-runner 运行分析并得到相同的结果。

我尝试了 sonar-groovy-plugin (版本:0.5、0.6 和 1.0.1)和 sonar-cobertura-plugin-1.6.3

这是运行 groovy spock 测试的 pom.xml 构建部分

<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>2.4.3</version>
<configuration>
    <grailsVersion>${grails.version}</grailsVersion>
    <fork>false</fork>
</configuration>
<extensions>true</extensions>
<executions>
    <execution>
        <id>grails-tests</id>
        <phase>test</phase>
        <goals>
            <goal>exec</goal>
        </goals>
        <configuration>
            <command>test-app</command>
            <args>--unit:spock</args>
        </configuration>
    </execution>
</executions>
</plugin>

有人使用过类似的配置并能够使用 sonarqube 和 cobertura 生成代码覆盖率指标吗?


对于面临类似问题的其他人,这里是解决方案。事实证明,我们需要在 pom.xml 中设置“sonar.sources”属性才能显示覆盖范围。这是示例(您需要指定各个目录)

<sonar.sources>src/java,src/groovy,grails-app/services,grails-app/controllers,grails-app/domain,grails-app/jobs</sonar.sources>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SonarQube 4.4 不显示带有 spock 测试的 grails 2.4.3 的 cobertura 单元测试或代码覆盖率 的相关文章

  • 使用 Cobertura 和 Jacoco 运行代码覆盖率

    我在获取 Maven 插件项目 使用调用程序插件进行集成测试 的 Sonar 中的集成测试和单元测试的代码覆盖率报告时遇到了一些问题 我无法使用默认的 Jacoco 覆盖率工具进行单元测试 因为这些工具使用 Powermock 这会导致使用
  • Gitlab 管道 - 报告配置包含未知键:cobertura

    由于此错误 我无法运行 gitlab 管道 Invalid CI config YAML file jobs run tests artifacts reports config contains unknown keys cobertur
  • 使用 Jenkins Sonar 插件成功构建后,Sonar 不显示代码覆盖率

    我正在尝试使用 Sonar 和 Jenkins 来获得代码覆盖率 我看到 Jenkins 的 Sonar 插件成功执行了 JUnit 测试用例并成功完成了构建 但 Sonar 不会在项目上显示代码覆盖率结果 代码覆盖率始终显示 0 0 但声
  • SonarQube 规则在启动时被禁用

    我最初在我的开发机器上设置了一个 Sonar 服务器 但后来在官方 Linux 机器上创建了一个服务器 目的是停止使用开发机器 在此过渡期间 我可能让两台服务器同时运行 指向同一个声纳数据库 现在我看到一些奇怪的行为 本地服务器运行良好 我
  • “没有关于每次测试覆盖范围的信息。”来自 Sonar 和 Jacoco Ant 构建

    我正在使用 Ant Jacoco 和 Sonar 当我运行构建时 声纳告诉我 没有有关每个测试覆盖范围的信息 声纳仪表板有我的覆盖结果 但我无法深入研究它们以查看代码 然而 Jacoco 生成的 HTML 报告确实包含深入到代码中的内容 这
  • 如何恢复 SonarQube 的管理员密码

    我忘记了 SonarQube 的管理员密码 谷歌搜索并发现该值crypted password应更新为8b1254c1c684c5dc904f3f174cea1cacbde4ad84这会将密码重置为admin 但我仍然无法登录 有什么建议吗
  • 为什么sonar:sonar需要先安装mvn?

    官方文档http docs sonarqube org display SONAR Analyzing with Maven http docs sonarqube org display SONAR Analyzing with Mave
  • Sonarqube 质量门未向詹金斯发送 webhook

    我将 Jenkins 配置为与 sonarqube 扫描仪一起使用 扫描工作正常 詹金斯管道正在工作 詹金斯日志中没有任何问题 SonarQube 扫描仪 3 0 3 778 詹金斯 2 70 适用于 Jenkins 的 SonarQube
  • 如何抑制“common-java”规则的警告

    我需要暂时忽略规则 单元测试分支覆盖率不足 common java InsufficientBranchCoverage Reading http docs sonarqube org display SONAR Frequently As
  • Sonarqube如何正确配置gradle子项目?

    我的 gradle 项目结构如下所示 geode core geode lucene extensions geode modules extensions geode modules session For extensions因此 子项
  • Cobertura 显示覆盖率 0%

    我使用 Cobertura 1 9 3 与 NetBeans 6 8 Ant 1 7 1 和 JDK 1 6 0 21 一起运行 WAR EJB JUnit 4 测试 当我改变线路时pathelement location build cl
  • 从 gitlab docker runner 启动声纳扫描仪

    我有一个 CI 工作流程 集成了 linting 作业和代码质量作业 我的 Linting 工作是一个 docker runner 从应用程序代码启动我的 eslint 脚本 然后我的代码质量工作应该启动声纳扫描仪泊坞窗实例 检查我的代码并
  • SonarQube 不收集代码覆盖率

    我在使用 sonar runner 和 jacoco 设置 gradle 时遇到问题 除了代码覆盖率之外 一切都很好 我已经尝试了一切但没有结果 这是我的 build gradle 文件 apply from dependencies gr
  • 降低 Sonar 2.1.x 中的日志级别

    我有一个 Maven 3 x 版本 它使用 Sonar 2 1 x 进行质量控制 maven sonar 插件在 Jenkins 内部使用来运行声纳检查 在 Jenkins 构建过程中 当 Sonar 启动时 它会在 INFO 级别记录很多
  • SonarQube 5.1.1 加载项目存储库时发生读取超时错误

    在使用声纳运行器分析多模块项目时 我经常收到 读取超时 错误 我为 Jenkins 配置了 SonarQube 5 1 1 我们的项目是一种 Web 项目 我们有几个用于分析的声纳插件 如 web css java findbugs js
  • SonarQube 从 6.4 升级到 6.5 破坏了扫描仪

    我使用的是sonarQube6 4并且已经升级到6 5 声纳扫描仪是 3 0 3 现在 升级后 只要源路径中存在 java 文件 扫描仪就会失败 如果我不扫描 java 文件 一切都会正常 但是 如果我回滚使用 6 4 版本 一切正常 那么
  • 声纳要求将这一领域定为最终目标

    我的程序中有以下代码 在与 Maven 集成后 我正在运行 SonarQube 5 对其进行代码质量检查 我面临这个错误 将此 public static processStatus 字段设为最终字段 将此 public static pr
  • 如何解决声纳中的 dodgy:unchecked/unconfirmedcast 问题?

    我在下面的代码中通过声纳获得异常 我该如何解决这个问题 建议我 Override public boolean validate BaseInfo infoObject boolean isValid true AckTransferPay
  • 如何在sonar.properties中配置SMTP?

    SonarQube 的 SMTP 设置可以在 Web UI 中更改 我如何在中设置这些 SMTP 设置sonar properties配置文件 您还可以使用sonar properties定义 smtp 设置 但不推荐这种方法 因此几乎没有
  • 每次重新登录声纳时,经过 LDAP 身份验证的用户都会从声纳中创建的组中删除

    使用 LDAP 插件 1 3 SNAPSHOT 的 Sonar 3 5 1 身份验证工作正常 但项目的授权并不与团体合作 从管理员用户中 我可以将 LDAP 用户映射到在 Sonar UI 中创建的组 但每次用户尝试登录 Sonar 时 已

随机推荐