Code Coverage
java ·테스트코드 실행시 소스코드가 얼마나 실행되는지 백분율로 나타내는 지표다.
테스트되지 않은 영역을 식별하는데 유용하며, 코드 유지 관리할때 도움을 준다.
자바에서 Code Coverage를 측정하려면 Jacoco를 이용해 쉽게 측정할 수 있다.
Maven에 아래의 코드를 추가한다.
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.4</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>
확인 방법
터미널에서 mvn verify를 입력하고, target/site/jacoco/index.html에서 확인할 수 있다.
간단 동작 원리
먼저 코드의 바이트코드를 읽는다. 코드 커버리지를 적용할 부분을 카운트한다. 이후에 테스트에서 커버리지 부분을 체크해서 보여준다.