1. Jacoco 설치

plugins {
	id 'java'
	id "jacoco"
}

플러그인에 jacoco 추가 후 gradle 새로고침하여 플러그인 설치

2. 기본 설정 추가

jacoco {
	toolVersion = "0.8.8"
}

jacoco 버전 명시 (최신 버전)

jacoco 플러그인을 설치하면 리포트 정보를 설정하는 jacocoTestReport 와 테스트 검증 기준을 설정하는 jacocoTestCoverageVerification 이 추가됨

3. 실행 순서 설정

jacoco 에서 생성하는 리포트와 어플리케이션에서 실행하는 테스트 간의 종속성은 없지만, 테스트 후 리포트를 생성하도록 설정해두었다. 리포트를 먼저 생성 후 테스트 실행도 가능하다.

테스트 → 리포트 생성 → 리포트 결과 검증

test {
	useJUnitPlatform() // JUnit5 설정 추가
	finalizedBy 'jacocoTestReport'
}

jacocoTestReport {
	finalizedBy 'jacocoTestCoverageVerification'
}

4. 리포트 설정

보기 편하도록 html 파일과 소나큐브와 연동을 위해 csv 파일을 설정한다.

jacocoTestReport {
	reports {
		html.enabled true
		csv.enabled true
		xml.enabled false

		html.destination file("$buildDir/reports/jacoco/html")
		csv.destination file("$buildDir/reports/jacoco/jacoco.csv")
	}

	finalizedBy 'jacocoTestCoverageVerification'
}

5. 테스트 검증 추가

jacocoTestCoverageVerification {

	violationRules {
		rule {
			enabled = true // 현재 규칙 설정 여부
			element = 'CLASS' // 해당 클래스가 실행이 되었는지 검증

			limit {
				counter = 'LINE'
				value = 'COVEREDRATIO'
				minimum = 0.10 // 테스트 커버리지 10% 미만일 경우 실패
			}

			excludes = []
		}
	}
}

6. 불필요한 테스트 검증 추가

Untitled