Backend/SpringBoot

스프링부트 입문 8. 테스트커버리지

오솔히 2024. 3. 11. 12:07

 

최근 면접을 좀 보다 보니 부족함을 좀 뼈저리게 느끼는 중이다!

일단 부트 공부를 좀 끝내고 다시 cs공부를 시작해야 할 거 같다~~

암튼 공부 다시 레쓰고~


 

1. 코드 커버리지

 

소프트웨어의 테스트 수준이 충분한지 표현할 수 있는 지표 중 하나이며

테스트를 진행했을 때 해당 코드가 실행되었는지를 표현하는 방법이다.

많은 코드 커버리지 도구가 있으며, 가장 보편적으로 사용되는 것이 jacoco이다.

 

2. Jacoco

 

자바 코드 커버리지를 체크하는 라이브러리이다.

작성된 코드의 테스트 커버리지를 측정하는 도구이며

런타임으로 테스트 케이스를 실행하여 커버리지를 체크하는 방식으로 사용된다.

테스트를 실행하고 난 후의 결과는 html, xml, csv 등의 형태로 report를 제공한다.

 

Jacoco에는 Rule이 존재하는데

Element type(코드 커버리지 체크 기준)에는 bundle, package, class, sourcefile, method가 있고

Counter(코드 커버리지를 측정할 때 사용하는 지표)에는 line, branch, class, method, instruction, complexity 등이 있고

Value(커버리지 정도를 나타내는 지표)에는 totalcount, missedcount, coveredcount, missedratio, coveredratio 등이 있다. 

위의 rule을 조합하여 특정 조건을 걸어 에러를 발생시킬 수 있다.

 

일단 사용하려면 pom.xml에 설정을 추가하면 되고

또한 특정 클래스를 제외하려면 exclude 태그를 추가하면 된다.

결과는 기본적으로 target 폴더를 보면 확인할 수 있다.


 

후후,,, 월요일도 스프링부트 공부 성공!

얼른 끝내고 다시 복습 좀 해야겠다~