【问题标题】:SonarQube 4.4 not displaying cobertura unit tests or code coverage for grails 2.4.3 with spock testsSonarQube 4.4 不显示带有 spock 测试的 grails 2.4.3 的 cobertura 单元测试或代码覆盖率
【发布时间】:2014-09-17 22:00:51
【问题描述】:

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

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

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

我有

sonar.groovy.cobertura.reportPath

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

跑步

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 生成代码覆盖率指标吗?

【问题讨论】:

    标签: sonarqube cobertura maven-cobertura-plugin


    【解决方案1】:

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

    <sonar.sources>src/java,src/groovy,grails-app/services,grails-app/controllers,grails-app/domain,grails-app/jobs</sonar.sources>
    

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 2016-01-31
      • 2014-12-15
      • 1970-01-01
      • 2015-10-12
      • 2014-05-04
      • 2018-10-18
      • 1970-01-01
      • 2017-03-05
      相关资源
      最近更新 更多