Jacoco란?

Java 코드의 커버리지를 체크하는 라이브러리다.

왜 사용하게 되었나?

이전 프로젝트에서 CI의 필요성을 느끼고 도입하기로 결정하였다. 이때 제대로된 CI를 하기 위해서 테스트 코드가 필수적이라고 생각하였고 최소 커버리지를 설정할 수 있는 Jacoco를 사용하게 되었다.


Jacoco 적용

build.gradle 내용을 수정해주도록 하자. (코드들은 이전 프로젝트인 coretime을 기준으로 작성되었다.)

플러그인 추가

우선 Jacoco 플러그인을 추가한다.

plugins {
	id 'org.springframework.boot' version '2.6.8'
	id 'io.spring.dependency-management' version '1.0.11.RELEASE'
	id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
	id 'java'
	id 'jacoco'
}
...

jacoco {
	toolVersion = '0.8.7'
}

테스트 후 jacocoTestReport 수행

테스트 시 Jacoco 리포트를 자동으로 작성할 수 있도록 설정한다.

tasks.named('test') {
	useJUnitPlatform()
	finalizedBy 'jacocoTestReport'
}

finalizedBy 를 이용하여 다음으로 실행할 태스크 명시한다.

jacocoTestReport

jacoco 보고서를 저장하는 태스크이다. Jacoco 보고서란 커버리지를 개발자가 쉽게 파악하기 위해 시각화해 주는 것을 의미한다.