CAP for Java

CAP Java 커버리지 60% 미만이면 배포 금지 #shorts #SAP #CAP

▶ YouTube에서 보기

이 글이 답하는 질문

  • 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-agent goal이 없으면 커버리지가 0%로 측정됨 — 반드시 포함
  • CAP 서비스 핸들러 테스트는 @SpringBootTest 대신 CqnService mock 방식 사용 권장
  • CI/CD 파이프라인(GitHub Actions, Jenkins)에서 mvn verify만 실행하면 check goal까지 자동 포함

핵심 한 줄

Jacoco 플러그인 추가 + minimum 0.60 설정이면 60% 미만 빌드가 자동 차단됩니다.

더 파볼 주제

  • CAP Java 단위 테스트 패턴
  • GitHub Actions + Maven 커버리지 뱃지
  • SonarQube 연동

댓글 0

아직 댓글이 없습니다.