我有一个多语言项目,使用 Java (JUnit) 和 Groovy (Spock) 实现测试。
plugins {
id "org.sonarqube" version "2.2.1"
}
apply plugin: 'idea'
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'jacoco'
ext {
spockVersion = '1.1-groovy-2.4-rc-3'
groovyVersion = '2.4.7'
}
group = "at.softwarecraftsmen.poc"
version = "1.0.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
testCompile "junit:junit-dep:4.11"
testCompile "org.codehaus.groovy:groovy-all:$groovyVersion"
testCompile "org.spockframework:spock-core:$spockVersion"
}
jacoco {
toolVersion = "0.7.8+"
}
sonarqube {
properties {
//property 'sonar.tests', ["src/test/groovy", "src/test/java"]
properties['sonar.tests'] += ["src/test/groovy"]
}
}
运行sonarqube任务时,它运行成功,但报告Resource not found: at.softwarecraftsmen.poc.sonar.domain.DomainTesteeSpec
。这是使用 Groovy 的 Spock 测试。
以下是 Gradle 生成的完整日志输出:
$ ./gradlew clean jacoco sonarqube
:clean
:compileJava
:compileGroovy UP-TO-DATE
:processResources UP-TO-DATE
:classes
:compileTestJava
:compileTestGroovy
:processTestResources UP-TO-DATE
:testClasses
:test
objc[4573]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
:jacocoTestReport
:sonarqube
Resource not found: at.softwarecraftsmen.poc.sonar.domain.DomainTesteeSpec
CodeNarc completed: (p1=0; p2=0; p3=0) 941ms
Resource not found: at.softwarecraftsmen.poc.sonar.domain.DomainTesteeUnitTest
File not found: at/softwarecraftsmen/poc/sonar/domain/DomainTestee.java
Coverage information was not collected. Perhaps you forget to include debug information into compiled classes?
File not found: at/softwarecraftsmen/poc/sonar/domain/DomainTestee.java
Coverage information was not collected. Perhaps you forget to include debug information into compiled classes?
BUILD SUCCESSFUL
Adding properties['sonar.tests'] += ["src/test/groovy"]
不能解决问题,只能测试src/test/java
已正确报告。
------------------------------------------------------------
Gradle 3.3
------------------------------------------------------------
Build time: 2017-01-03 15:31:04 UTC
Revision: 075893a3d0798c0c1f322899b41ceca82e4e134b
Groovy: 2.4.7
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_71 (Oracle Corporation 25.71-b15)
OS: Mac OS X 10.11.6 x86_64
确保您已在 Sonar 中安装了 Groovy 插件,如下所述:
将 Spock 的测试与 Sonar 集成
您需要 Sonar 实例的管理员访问权限才能执行此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)