SonarQube 4.4没有显示cobertura单元测试或grails 2.4.3的代码覆盖与spock测试

RRK*_*RRK 4 cobertura sonarqube maven-cobertura-plugin

我的机器上安装了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)
Run Code Online (Sandbox Code Playgroud)

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

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

我还尝试使用声纳 - 跑步者进行分析并获得相同的结果.

我试过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>
Run Code Online (Sandbox Code Playgroud)

任何人都使用类似的配置,并能够使用sonarqube和cobertura生成代码覆盖率指标?

RRK*_*RRK 7

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

<sonar.sources>src/java,src/groovy,grails-app/services,grails-app/controllers,grails-app/domain,grails-app/jobs</sonar.sources>
Run Code Online (Sandbox Code Playgroud)