JUnit - taeyun-ham/andalos GitHub Wiki
Jacoco
build.gradle
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.4'
id 'io.spring.dependency-management' version '1.1.4'
id 'jacoco'
}
...
jacoco {
toolVersion = "0.8.12"
reportsDirectory = layout.buildDirectory.dir('customJacocoReportDir')
}
...
jacoco {
toolVersion = "0.8.11"
}
tasks.named('test') {
useJUnitPlatform()
finalizedBy(tasks.jacocoTestReport)
}
jacocoTestReport {
dependsOn(tasks.test)
reports {
xml.required = false
csv.required = false
html.outputLocation = layout.buildDirectory.dir('jacocoHtml')
}
afterEvaluate {
classDirectories.setFrom(
files(classDirectories.files.collect {
fileTree(dir: it, excludes: [
'**/*Application.class',
'**/infra/configuration/*Config.class'
])
})
)
}
finalizedBy(tasks.jacocoTestCoverageVerification)
}
jacocoTestCoverageVerification {
violationRules {
rule {
enabled = true
element = "CLASS"
limit {
counter = "METHOD"
value = "COVEREDRATIO"
minimum = "0.0".toBigDecimal()
}
excludes = [
'*.*Application'
]
}
}
}