3
我需要新的jacoco任務檢查最小覆蓋如何驗證一些排除的類和jacoco插件的最小覆蓋率?
jacocoTestCoverageVerification
這個任務是可用的3.4.1版本的Gradle,並與jacoco插件> = 0.6.3
我可以運行另一個任務,生成一個分支機構覆蓋率的HTML報告,但現在我想使用該數字來使構建失敗。
這是我的代碼
buildscript {
ext {
....
}
repositories {
mavenCentral()
maven {
....
}
}
dependencies {
.....
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'jacoco'
jar {
baseName = "coverage-test"
}
dependencies {
// my dependencies
}
eclipse {
classpath {
containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8'
}
}
wrapper {
gradleVersion = '3.4.1'
}
jacoco {
toolVersion = '0.7.9'
}
jacocoTestReport {
reports {
xml.enabled false
csv.enabled false
}
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
additionalSourceDirs = files(sourceSets.main.allJava.srcDirs)
afterEvaluate {
classDirectories = files(classDirectories.files.collect {
fileTree(
dir: it,
excludes:
[
'com/jacoco/dto/**',
'com/jacoco/configs/**',
//and others
])
})
}
}
jacocoTestCoverageVerification {
//I tried this and it didn't work
// classDirectories = files(classDirectories.files.collect {
// fileTree(
// dir: it,
// excludes:
// [
// 'com/jacoco/dto/**',
// 'com/jacoco/configs/**',
// //and others
// ])
// })
violationRules {
rule {
//Also tried this and it didn't work
// excludes = ['com/jacoco/dto/**', ...]
limit {
counter = 'BRANCH'
minimum = 0.8
}
}
}
}
check.dependsOn jacocoTestCoverageVerification
隨着classDirectories我收到以下錯誤空對象上無法獲取財產「文件」。而第二個選項(只有不包括),構建順利運行,但它不排除任何類。
BTW這裏是什麼,我在我的項目嘗試了要點(和它的工作):https://gist.github.com/sm4/1cacc5d8b6d99cac84336ab4df06d1bd,這是項目:https://github.com/ sm4 /促銷代碼 – sm4
是的,你是對的,我試圖衡量兩個不同的東西。另外我嘗試用你的配置來添加一個檢查規則,它的工作原理。謝謝!! –