Ich brauche die Mindestdeckung mit der neuen jacoco Aufgabe in der gradle Release 3.4.1Wie kann ich die Mindestabdeckung mit einigen ausgeschlossenen Klassen und mit dem jacoco-Plugin überprüfen?
jacocoTestCoverageVerification
Diese Aufgabe zur Verfügung steht, mit zu überprüfen und mit dem jacoco plugin> = 0.6.3
Ich könnte eine andere Aufgabe ausführen, die einen HTML-Bericht mit der Zweigabdeckung erzeugt, aber jetzt möchte ich diese Nummer verwenden, um den Build fehlzuschlagen.
Dies ist mein Code
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
Mit classDirectories ich die Fehler folgende Kann nicht Eigentum 'Dateien' auf Null-Objekt bekommen. Und mit der zweiten Option (nur schließt aus), läuft der Build reibungslos, aber es schließt keine Klasse aus.
BTW hier ist ein Kern von dem, was ich in meinem Projekt versucht (und es funktionierte): https://gist.github.com/sm4/1cacc5d8b6d99cac84336ab4df06d1bd und das ist das Projekt: https://github.com/ sm4/promo-codes – sm4
Ja, Sie hatten Recht, ich habe versucht, zwei verschiedene Dinge zu messen. Auch versuche ich mit deiner Konfiguration eine Check-Regel hinzuzufügen und es funktioniert. Vielen Dank!! –