java - 没有用 Groovy 编写的测试的单元测试成功数据

标签 java unit-testing groovy sonarqube

我已经一年多没有在包含混合 Java 和 Groovy 文件的项目中使用 Sonar 了,SonarQube 能够在同一项目/模块中支持多种语言(而不是对 Java 和 Groovy 文件进行两次单独的分析)真是太棒了。格鲁威)。不幸的是我发现了一个回归。

过去,对于使用 Spock/Groovy 编写的测试的 Java 项目,它们通常会在测试摘要中报告。目前,该项目缺少整个“单元测试成功”部分。问题似乎在于,这些数据仅由 SurefireSensor 提供。在 Spock 中进行测试的 Java 项目中出现警告:

INFO  - Sensor SurefireSensor
INFO  - parsing /home/foo/my-gradle-project/build/test-results
WARN  - Resource not found: io.foobar.FileSystemPollerSpec
WARN  - Resource not found: io.foobar.PropertiesFolderFinderSpec

查看代码SurefireSonsor仅收集Java源文件并跳过其他文件的结果(过去有收集,仅源文件不显示)

完全使用 Groovy 的项目也存在类似情况。在这种情况下,SurefireSonsor 甚至不会执行,并且“单元测试成功”完全丢失。该问题可以通过以下方式重现: https://github.com/SonarSource/sonar-examples/tree/master/projects/languages/groovy/groovy-sonar-runner-jacoco

使用 SonarQube 5.1.1、Java 插件 3.0、Groovy 插件 1.1.1 和 SonarRunner 2.4 进行测试。

是否有其他方法可以在 Groovy/Spock 中为 Groovy 或混合 Java/Groovy 项目获得“单元测试成功”?

最佳答案

这是 Groovy 插件的已知限制。有开放票:http://jira.sonarsource.com/browse/SONARGROOV-2 它应该在下一个冲刺中修复。

关于java - 没有用 Groovy 编写的测试的单元测试成功数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31005808/

相关文章:

rest - Jenkins:Active Choices Parameter + Groovy 构建基于 REST 响应者的列表

Java TLS 客户端在访问 soap 服务时找不到证书

Java泛型方法结构解释

c# - 单元测试我认为如何指出正在测试的类上的逻辑错误

javascript - Controller 测试模拟工厂

intellij-idea - Gradle依赖关系未在IntelliJ中添加为库

java - Jenkins/Groovy - 对于数组中的每个项目,使用项目中的变量执行 shell 脚本

java - Class.forName android NoClassDefFoundError -> ClassNotFoundException

java - 如何正确调整我在此代码中打印的数字?

json - 如何在 Golang 中测试 panic ?