我使用sonarqube来分析具有混合Java / Groovy测试的项目。 Java测试通过TestNG运行,而Groovy测试通过JUnit运行。运行Gradle“sonarqube”任务时,我在构建日志中获得以下内容(使用--debug选项):
14:38:53.842 [DEBUG] [org.sonarqube.gradle.SonarQubeTask] Class not found in resource cache : a.b.c.SomeSpec 14:38:53.842 [WARN] [org.sonarqube.gradle.SonarQubeTask] Resource not found: a.b.c.SomeSpec
仅在Groovy测试中记录。
我使用两个单独的任务来运行JUnit / TestNG测试,并使用Gradle Jacoco插件中的JacocoMerge任务来合并这些测试的二进制报告。因此,Sonarqube正确显示覆盖率百分比,但是,在显示单元测试列表时,所有JUnit(因此,我的Groovy)测试都缺失。
我阅读No Unit Test Success data for tests written in Groovy并尝试使用最新版本的插件,但问题仍然存在。有没有什么方法可以使用SonarQube Gradle插件在Sonarqube中正确显示覆盖率和单元测试信息?
我使用SonarQube版本5.6.3。,sonarQube Groovy插件版本1.4和sonarqube-gradle-plugin版本2.2