본문 바로가기
카테고리 없음

[Spring] IntelliJ + JaCoCo로 테스트커버리지 확인하기

by 우롱추출물 2021. 8. 30.

참여하고 있는 벡엔드 데브코스에서 테스트코드를 작성할 수 있는 만큼 해보라는 과제에

'앗..? 얼마나 테스트를 해야하지?' 라는 생각이 가장 컸다.

마침 팀원분들 중 한분이 JaCoCo를 말씀해주셨고 예전에 그래들 환경에서 썼었던 것이 떠올랐다.

 

 

다만 현재 수업중에 프로젝트는 Maven으로 dependency를 관리하는데

maven으로 JaCoCo로 커버리지를 테스트하려 했더니 계속 여러 에러를 접했다.
예전에 Gradle로 쉽게 썼던것을 떠올리며 왜 Maven은 안될까 꽤 오랜 시간 고민을 했던 것 같다;;

(사실 여전히 계속 에러가 발생하고 있어서 이 방법 대신 IntelliJ의 힘을 빌리기로 했다.)

 

 

여담을 추가하자면

Maven으로 Jacoco를 쓰려면 plugin 설정을하는데 상당한 코드량과 많은 레퍼런스를 빌려 했음에도 따라오는 에러들..

그래서 더 좋은 방법이 없을까 머리를 굴리던 차에

Intellij에서 어차피 run,build, test하는데 이거 하나 없을까?라는 생각에 미쳤다. 그래서 그 힘을 빌려본다.

외국자료들은 많았는데 한국자료들은 많이 없기도 해서 어 일단 간략하게 적을거지만 그래도 누군가에겐 도움이 되길!

(영어잘하는 분은 아래 공식 레퍼런스를 참조하도록 합시다)

 

 

IntelliJ에서 Jacoco 를 쓰고싶다면 아래 그림을 따라가보자.

 

EditConfiguration -> Run/DebugConfigurations -> 하단에 CodeCoverage(인텔리제이 버전마다 위치 다름) -> Modify클릭 -> Specify alternative coverage runner 선택을 하면 Choose coverage runner가 나온다. 기본은 인텔리제이고, JaCoCo로 변경을 할 수 있다.

 

기본상태: IntelliJ IDEA 가 coverage runner로 설정되어있음.

 

JaCoCo로 변경

 

 

근데 띄용?

나는 JaCoCo쓰겠다고 했지만 테스트를 런해보면 별다른변화가 없다 ㅎ.ㅎ;

 

run할때 평소 쓰던 run 버튼이 아니라 ~~with Coverage 버튼을 눌러서 커버리지를 확인해야한다. (아래 사진에 방패모양같은거!)

슬픈 테스트 커버리지.....정말 커버가 거의 안된거같네요 하하

 

이걸 활용하면 앞서 할수있는만큼 테스트를 해보세요라는 과제라던가 업무에 조금 더 활용할 수 있지 않을까...?ㅠㅠㅎㅎ

 

제가 참조했던 링크는 아래와 같습니다.

 

 


https://www.jetbrains.com/help/idea/code-coverage.html

 

Code coverage | IntelliJ IDEA

 

www.jetbrains.com

https://www.jetbrains.com/help/idea/running-test-with-coverage.html

 

Run with coverage | IntelliJ IDEA

 

www.jetbrains.com

https://stackoverflow.com/questions/43500774/jacoco-with-intellij

 

JaCoCo with IntelliJ

So this question might not be really specific, but i'm asking it anyway. I'm trying to use JaCoCo with IntelliJ to gather coverage reports on unit tests. However, i don't have any experience whats...

stackoverflow.com