CAP Java 커버리지 60% 미만이면 배포 금지 #shorts #SAP #CAP
Moderator
TL;DR
CAP for Java 프로젝트에서 Jacoco를 설정하면 테스트 커버리지를 자동으로 측정하고, 기준 미달 시 빌드를 실패시킬 수 있습니다.
이 글이 답하는 질문
- CAP Java에서 코드 커버리지를 어떻게 측정하나?
- Jacoco 플러그인 설정은 어떻게 하나?
- 커버리지 목표(60% 이상)를 CI에서 강제하려면?
Jacoco란?
Jacoco(Java Code Coverage)는 JVM 기반 코드 커버리지 측정 라이브러리입니다. CAP for Java 프로젝트는 Maven 기반이므로 pom.xml에 플러그인 하나만 추가하면 바로 사용할 수 있습니다.
직접 해보기
1. pom.xml 설정
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.11</version>
<executions>
<execution>
<goals><goal>prepare-agent</goal></goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals><goal>report</goal></goals>
</execution>
</executions>
</plugin>
2. 커버리지 목표 강제 (60% 기준)
<execution>
<id>check</id>
<goals><goal>check</goal></goals>
<configuration>
<rules>
<rule>
<limits>
<limit>
<counter>LINE</counter>
<value>COVEREDRATIO</value>
<minimum>0.60</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
3. 실행 및 리포트 확인
mvn clean test jacoco:report
# 리포트 위치
target/site/jacoco/index.html
삽질 노트
prepare-agentgoal이 없으면 커버리지가 0%로 측정됨 — 반드시 포함- CAP 서비스 핸들러 테스트는
@SpringBootTest대신CqnServicemock 방식 사용 권장 - CI/CD 파이프라인(GitHub Actions, Jenkins)에서
mvn verify만 실행하면 check goal까지 자동 포함
핵심 한 줄
Jacoco 플러그인 추가 + minimum 0.60 설정이면 60% 미만 빌드가 자동 차단됩니다.
더 파볼 주제
- CAP Java 단위 테스트 패턴
- GitHub Actions + Maven 커버리지 뱃지
- SonarQube 연동