JaCoCo란?
Java Code Coverage의 약자로, 테스트 코드가 실제 애플리케이션 코드를 얼마나 실행했는지 측정해주는 도구.
build.gradle 설정
플러그인 적용
plugins {
id 'jacoco' // Java Code Coverage
}
버전 및 리포트 경로 지정
jacoco {
toolVersion = '0.8.13'
reportsDirectory = layout.buildDirectory.dir('reports/jacoco')
}
테스트 후 커버리지 리포트 생성
tasks.named('test') {
useJUnitPlatform()
finalizedBy jacocoTestReport
}
커버리지 기준 설정 (빌드 실패 조건)
jacocoTestCoverageVerification {
violationRules {
rule {
enabled = true
element = 'CLASS'
limit {
counter = 'LINE'
value = 'COVEREDRATIO'
minimum = 0.5 // 50% 미만이면 실패
}
excludes = [
'*.*Application' // 예외 대상 클래스
]
}
}
}
커버리지 리포트 생성 및 제외 대상 설정
jacocoTestReport {
dependsOn test
reports {
xml.required = false
csv.required = false
html.outputLocation = layout.buildDirectory.dir('jacocoHtml')
}
finalizedBy(jacocoTestCoverageVerification)
afterEvaluate {
classDirectories.setFrom(
files(classDirectories.files.collect {
fileTree(dir: it, excludes: [
"**/*Application*"
])
})
)
}
}
리포트 위치
- HTML 리포트: build/jacocoHtml/index.html
'Spring > 문법' 카테고리의 다른 글
AOP (Aspect-Oriented Programming) (0) | 2025.06.11 |
---|---|
@EntityGraph - fetch join을 어노테이션으로 처리하기 (0) | 2025.06.11 |
테스트 코드 개념 2 + Mock 을 이용한 테스트 코드 작성 예제 (0) | 2025.06.11 |
테스트 코드 개념 (0) | 2025.06.11 |
JSON 포맷 변경하기: Jackson 설정 커스터마이징 (1) | 2025.05.23 |