๋ถ๋ฅ:ํ๋ก๊ทธ๋๋ฐ
์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
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 Suport
[1] ํน์ ํ๋ก์์ ์ ์ฝ๋๊ฐ ์ ๋ถ ์คํ๋ ์ ์๋์ง, ๋๋ ์กฐ๊ฑด๋ฌธ ๋ธ๋ญ์์ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํ ์ํ์ด ์ด๋ฃจ์ด์ง๋์ง ๋ฑ์ ํ
์คํธํ๋ ๊ฒ์ ๋งํ๋ค.