gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 23:49:36 24 4
gpt4 key购买 nike

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

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

target/test-reports/cobertura/coverage.xml



我有

sonar.groovy.cobertura.reportPath



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

运行
mvn sonar:sonar (maven version 3.2.3)

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

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

我还尝试使用 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>

关于SonarQube 4.4 不显示带有 spock 测试的 grails 2.4.3 的 cobertura 单元测试或代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25901059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com