1. JaCoCo 란 ?
- 웹 어플리케이션을 만들면서 테스트 코드 작성은 필수임
- 테스트 커버리지
- 단위 테스트를 작성한 메서드나 클래스에 대해서 얼마나 테스트 코드에 포함되어 있는지의 지표
- JaCoCo (Java Code Coverage) : 자바 진영에서 제공하는 테스트 커버리지 확인 도구
2. JaCoCo 적용 방법
2-0. 버전 확인, 샘플 프로젝트
- Spring Boot : 3.2.2
- Java : 21
- gradle : 8.5
- JaCoCo 적용을 연습할 샘플 프로젝트
- 기본적인 회원 도메인, 회원가입 로직 등을 담고 있는 프로젝트
- https://github.com/Engineering-Student-An/jacoco-coverage-practice
2-1. build.gradle
아래 코드 추가
plugins {
id 'jacoco'
}
jacoco {
toolVersion = "0.8.11"
}
test {
finalizedBy jacocoTestReport
}
jacocoTestReport {
dependsOn test
}
- jacoco 버전 : 0.8.11
- 자바 21 버전과 호환되는 버전임
- 본인의 자바 버전과 호환되는 jacoco의 버전 확인 ( https://www.jacoco.org/jacoco/trunk/doc/changes.html )
- finalizedBy jacocoTestReport : 테스트 종료 후에 항상 리포트 생성
- dependsOn test : 리포트 생성을 위해서는 테스트가 먼저 실행 되어야 함
3. JaCoCo로 테스트 커버리지 확인
3-1. Report로 확인
- 인텔리제이 > 터미널 에 아래 명령어 실행 (gradle로 테스트 실행)
./gradlew test
- 테스트가 완료되면 (루트 경로 > build > reports > jacoco > test > html) 에 index.html 파일이 생김
- index.html 을 실행하면 테스트 커버리지 결과 확인 가능
- 프로젝트 클릭해서 들어가면 커버리지 등 상세 정보를 확인 가능함
3-2. 인텔리제이의 Code Coverage for Java 로 확인
- plugin > Code Coverage for Java 설치
- 테스트 코드를 Coverage 와 실행하기 ( Run ... with Coverage )
- 테스트 실행 후 우측에서 Coverage 확인
3-2 (2). Code Coverage for Java 플러그인의 runner를 JaCoco로 변경하기
- Run > Edit Configuration
- Code Coverage > Modify > Choose coverage runner : JaCoCo
- Run tests with Coverage => 이전에는 보이지 않던 Branch 에 대한 Coverage 도 확인 가능
'Spring Boot' 카테고리의 다른 글
[Spring Boot] JSON String , Object 변환 (JSONParser, Gson, object-mapper) (1) | 2024.03.16 |
---|---|
[Spring Boot] JSON 객체 송수신 예제 (0) | 2024.03.15 |
[Spring Boot] 로그인 기능 구현 (8) - 페이스북 로그인 (OAuth 2.0) (0) | 2024.01.14 |
[Spring Boot] 로그인 기능 구현 (7) - 네이버 로그인 (OAuth 2.0) (1) | 2024.01.14 |
[Spring Boot] 로그인 기능 구현 (6) - 카카오 로그인 (OAuth 2.0) (0) | 2024.01.14 |