例如在
JaCoCo version 0.8.1
:您唯一需要做的就是确保Gradle使用正确的JaCoCo版本。到目前为止在JaCoCo中实现的所有过滤器都是无条件启用的,并在生成报告期间进行。在同一个公告中
announcement of 0.8.2
https://docs.gradle.org/current/userguide/jacoco_plugin.html
默认版本取决于Gradle的版本,例如
Gradle 4.7 by default uses version JaCoCo 0.8.1
JaCoCo changelog
在0.8.2中增加了Kotlin过滤器。
如此给定
src/main/kotlin/DataClass.kt
data class DataClass(var x)
src/test/kotlin/Tests.kt
class Tests {
@org.junit.Test
fun test_data_class() {
DataClass(42)
}
}
和
build.gradle
buildscript {
ext.kotlin_version = "1.2.41"
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: "kotlin"
apply plugin: "jacoco"
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
testCompile "junit:junit:4.12"
}
tasks["jacocoTestReport"].dependsOn("test")
gradle jacocoTestReport
使用Gradle4.7你会看到
加上
jacoco {
toolVersion = '0.8.2'
}
另外,我相信
exclude
test {
jacoco {
exclude("*equals", "*hashCode")
}
}
指
exclusion of tests from execution
jacoco
property of
test
没有
-作为补充证明
test {
jacoco {
exclude("Tests.class")
}
}