자바 17 버전 사용시 Jacoco
버전 불일치
원인
해결 방법
java 17
→ jacoco 0.8.8
사용
build.gradle
tasks.named('test') {
outputs.dir snippetsDir
useJUnitPlatform()
finalizedBy 'jacocoTestReport'
jacoco {
destinationFile = file("$buildDir/jacoco/jacoco.exec")
}
}
jacocoTestReport {
reports {
html.enabled true
xml.enabled false
csv.enabled true
// 리포트의 저장 경로를 설정합니다.
// html.destination file("jacoco/jacocoHtml")
// xml.destination file("jacoco/jacoco.xml")
}
def Qdomains = []
for (qPattern in '**/QA'..'**/QZ') { // qPattern = '**/QA', '**/QB', ... '*.QZ'
Qdomains.add(qPattern + '*')
}
afterEvaluate {
classDirectories.setFrom(files(classDirectories.files.collect {
fileTree(dir: it, exclude: [
"com/example/surveydocument/SurveydocumentApplication*",
"**/config/*"
] + Qdomains)
})
)
}
finalizedBy 'jacocoTestCoverageVerification'
}
jacocoTestCoverageVerification {
def Qdomains = []
for (qPattern in '*.QA'..'*.QZ') { // qPattern = '*.QA', '*.QB', ... '*.QZ'
Qdomains.add(qPattern + '*')
}
violationRules { // 커버리지의 범위와 퍼센테이지를 설정합니다.
rule {
element = 'CLASS'
limit {
counter = 'BRANCH'
value = 'COVEREDRATIO'
minimum = 1.00
}
excludes = [] + Qdomains // 제외할 Qdomains 패턴 추가
}
}
}
jacoco {
// JaCoCo 버전
toolVersion = '0.8.8'
}