1. 개요
JaCoCo는 Java Code Coverage[1]를 구현하는 데에 사용되는 오픈 소스 툴킷이다. Eclipse Public License 라이선스로 배포되며 EclEmma 이클립스 프로젝트 아래 EMMA의 대안으로 개발되었다.2. 특징
JaCoCo는 line, branch coverage를 제공한다. 사용하는데에 코드가 필요한 Clover와 Cobertura와는 다르게 JaCoCo는 runtime에 실행이 가능하다. 이를 위해 Java agent 형태로 사용하며, report 데이터를 파일 형태로 저장이 가능하며 TCP 프로토콜을 통해 원격 JVM의 데이터를 가져올 수도 있다. 분산된 Code 환경에서의 report들을 통합하는 기능이 제공되어 Intergration Testing에 사용이 가능하다. Cobertura와 Emma와 차별점으로 Java 7과 8을 지원하는 특징이 있다.3. 지원 툴
- SonarQube JaCoCo 플러그인
- EclEmma Eclipse Code Coverage Plugin
- Jenkins JaCoCo 플러그인
- Gradle JaCoCo 플러그인
- NetBeans JaCoCo Support
- IntelliJ IDEA JaCoCo Support
[1]
특정 프로시저의 코드가 전부 실행될 수 있는지, 또는 조건문 블럭에서 모든 경우에 대한 수행이 이루어지는지 등을 테스트하는 것을 말한다.