Test Coverage를 확인하는 도구들
최근 CleanCode라는 책을 다시 보고 있다.
그간 했던 코딩스타일에 대해서 전면적으로 다시 생각하게 만든 아주 고마운 책이다.
물론 그렇다고 지금 아주 잘한다는 것도 아니다. 그저 좋아지려고 노력은 하고 있다. 

이 책의 저자는 JUnit을 책의 한 챕터로 구성할 정도로 테스트의 중요성을 강조하는데 테스트 Coverage를 체크하는 툴로 Clover를 사용했다고 말하고 있다. (그렇다고 Clover가 좋으니 써보라는 말을 한건 아니고 그에 대해서는 잠깐 언급한 정도다)
그래서 나도 따라해보려고 Test Coverage 툴을 찾아나섰다.



1. Clover (http://www.atlassian.com/software/clover/)

책의 저자가 사용한 툴이니 당연히 좋겠지 하며 찾아나섰는데 안타깝게 유료였다.
거기다 상당히 비쌌다. 300달러라니.. (가격정보 : http://www.atlassian.com/software/clover/pricing.jsp)
Jira와 Confluence를 만든 회사에서 만든 것이라 믿음직스럽기도 하고 상당히 좋아보여서 30일만이라도 써보려고 했지만 단지 Eclipse plugin로만 쓰기에는 너무 익혀야할 것들이 많아보였다.

 



2. CodeCover (http://codecover.org/index.html)

이름에서 풍겨오는 믿음직한 느낌, 웹사이트에서의 소개, 블로그 리뷰 등을 종합해볼때 딱 이거다 싶었다. (거기다 무료)
그런데 막상 사용해보니 설정을 어떻게 해야하는지 정말 막막했다. CodeCover Measurement for JUnit 를 실행해도 JUnit 테스트만 수행될 뿐 리포트나 Code Coverage는 나오지 않았다. 뭔가 에러메시지가 나오는데 뭔 소린지도 모르겠다. 오류메시지를 좇아 해결책을 찾아나섰지만 쉽지 않았다. 정말 좋아보이기는 한데...



3. EclEmma (http://www.eclemma.org/)

이 툴은 사실 CodeCover의 에러메시지를 찾다가 발견했다. 구글에서 CodeCover의 에러메시지를 검색했더니 이 툴이 검색결과 두번째로 나왔다. 이름이 조금 대충 지은 느낌이라 신뢰가 안갔는데 웹사이트에 사용방법 설명을 보니 아주 심플하고 내가 원하는 기능만 딱 있기에 사용해봤다. 그런데 정말 좋다. 내가 원하는 바로 그거다!


실행결과를 요렇게 보여준다. 웹사이트에서 설명을 가만히 살펴보니 Emma라는 툴의 eclipse plugin 버전이란다. 정작 Emma 웹사이트에서 소개하는 Eclipse plugin은 eclipsepro라는 거였는데 그 툴의 웹사이트는 접속이 안되는걸보니 개발이 중지된 것 같다. 어쨌든 지금부터는 이 툴을 써서 테스트 잘 해보련다.


반응형