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

时间:2015-06-23 14:36:46

标签: 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 for Groovy或混合Java / Groovy项目的测试?

1 个答案:

答案 0 :(得分:1)

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