[java] 스프링 부트에서 테스트 커버리지 측정 방법
테스트 커버리지는 소프트웨어 프로젝트에서 얼마나 많은 코드가 테스트되었는지를 나타내는 중요한 측정 지표입니다. 이 지표를 사용하면 소프트웨어의 품질을 향상시키고 테스트되지 않은 코드를 식별하여 버그를 최소화할 수 있습니다. 이번 글에서는 스프링 부트 프로젝트에서 테스트 커버리지를 측정하는 방법에 대해 알아보겠습니다.
1. Jacoco를 사용한 테스트 커버리지 측정
Jacoco는 Java 프로젝트에서 사용할 수 있는 코드 커버리지 라이브러리로, 스프링 부트 프로젝트에서 테스트 커버리지를 측정하는 데 널리 사용됩니다.
먼저 pom.xml
파일에 Jacoco 플러그인을 추가합니다.
<build>
<plugins>
...
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
위의 설정을 추가하면 Jacoco는 빌드 중에 코드에 대한 커버리지 정보를 수집하고, 테스트를 실행하여 커버리지 보고서를 생성합니다.
2. 테스트 실행 및 보고서 확인
테스트를 실행하여 Jacoco 보고서를 생성합니다. 터미널에서 아래 명령어를 실행합니다.
mvn clean test
테스트 실행이 완료되면 target/site/jacoco/index.html
파일을 열어서 테스트 커버리지 보고서를 확인할 수 있습니다.
결론
스프링 부트 프로젝트에서 Jacoco를 사용하여 테스트 커버리지를 측정하는 방법에 대해 알아보았습니다. 테스트 커버리지를 측정함으로써 코드의 품질을 향상시키고 버그를 예방하는 데 도움이 됩니다.
더 많은 정보는 Jacoco 공식 문서를 참고할 수 있습니다.