java - 将 Sonar、Jacoco、Gradle、ScalaTest 与 Junit、Java 集成

标签 java scala gradle jacoco sonarqube

我在构建过程中非常成功地集成了 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/

相关文章:

scala - 构建 play 2.0 项目时 Unresolved 依赖关系

java - gradlew 使用错误的 Java 版本

java - JDK 1.5 中的 NVARCHAR

java - RabbitMQ队列消费行为

javascript - 使用 javascript 动态生成 thymeleaf 输入并将其值发送到 Controller 不起作用

Scala 模拟部分 stub

java - RxJava : remove element from list

eclipse - 如何让 Eclipse 识别 SBT 的依赖关系

java - 更新 gradle 包装文件会产生不同的结果

maven - Gradle 构建错误