我在构建过程中非常成功地集成了 Gradle (1.11)、Sonar (4.1.1)、Java、Scala 和 Jacoco。我什至设法获得有关成功测试数量的信息(感谢 Stackoverflow!)。不过我有一个问题。
我似乎无法获得有关每次测试覆盖率的信息。如果有此信息,那就太好了。
> 15:11:16.514 INFO - Sensor JaCoCoSensor... 15:11:16.535 INFO -
> Analysing C:\example\gradle-sonar-jacoco-scala\build\jacoco\test.exec
> 15:11:17.887 INFO - No information about coverage per test.
该项目的简化版本位于:https://github.com/sebastianharko/gradle-sonar-java-jacoco-scalatest-junit
干杯!
最佳答案
看起来你已经有了
apply plugin: 'jacoco'
在你的 gradle.build 中
但是我没有在 gradle.build 中看到从哪里获取文件的定义
jacoco {
destinationFile = file("$buildDir/jacoco/test.exec")
}
如果您计划进行集成和单元测试,它看起来类似于以下内容:
task "integtest"(type: Test, dependsOn: integtestClasses) {
testClassesDir = sourceSets.integtest.output.classesDir
classpath = sourceSets.integtest.runtimeClasspath
jacoco {
destinationFile = file("$buildDir/jacoco/integTest.exec")
}
}
test {
jacoco {
destinationFile = file("$buildDir/jacoco/test.exec")
}
}
有了对应的sonar配置项
property "sonar.jacoco.reportPath", "$buildDir/jacoco/test.exec"
property "sonar.jacoco.itReportPath", "$buildDir/jacoco/integTest.exec"
关于java - 将 Sonar、Jacoco、Gradle、ScalaTest 与 Junit、Java 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22028550/