我在构建过程中非常成功地集成了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
干杯!
答案 0 :(得分:0)
看起来你已经有了
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")
}
}
使用相应的声纳配置项
property "sonar.jacoco.reportPath", "$buildDir/jacoco/test.exec"
property "sonar.jacoco.itReportPath", "$buildDir/jacoco/integTest.exec"
答案 1 :(得分:0)
我见过来自SonarQube - integrationTest.exec - sonarRunner (Gradle) or "sonar-runner" command - showing 0.0% covereage的其他配置参数:
参数sonar.java.coveragePlugin=jacoco
引起了我的注意。你试过吗?
答案 2 :(得分:-3)
您可能还想使用Coveralls.io
非常便宜:仅4.99美元/月。并且您将在Github上进行深度集成(在分支增加或减少代码覆盖时跟踪)以及a very nice UI以深入了解您的代码覆盖率。