Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

TDD를 하는데 유용한 Eclipse Plugin : MoreUnit

Java를 다시 메인언어로 잡으면서 여러가지 많이 배우면서 시도해 보고 있는데 그중 하나가 TDD입니다. 여러가지 많은 방법론들이 있지만 그중에서 가장 실용적이면서도 익숙해졌을 때의 기대 효과가 좋은 방법론 중 하나라고 생각하기 때문에 익숙해 지려고 노력하고 있습니다.

그 전에도 이름은 많이 들어봤는데 실제로 MoreUnit을 사용해 보니까 유닛테스트를 작성하는데 정말 편리한 플러그인이었습니다. MoreUnit은 테스트코드를 작성하는데 필요한 여러가지 기능들을 제공해 주고 있습니다. 이클립스 플러그인이므로 다운로드 주소를 이용해서 간단히 설치할 수 있습니다.

MoreUnit을 쓰면서 가장 많이 사용하는 기능은 클래스와 테스트 클래스간의 전환입니다.

이클립스 프로젝트 폴더 구조

TDD를 하면 테스트클래스와 클래스간의 전환을 자주 해야 하는데 요즘은 메이븐을 많이 사용하므로 보통 위와 같은 소스폴더의 구조를 가지게 됩니다. 많은 팩키지가 있을 경우 다른 경로에 있는 테스트 클래스로 이동하기가 쉽지 않은데 MoreUnit을 사용하면 Ctrl + J를 이용해서 쉽게 이동할 수 있습니다. App.java와 AppTest.java처럼 클래스와 테스트 클래스로 바로 이동해 주기 때문에 유닛테스트 작성을 매우 편하게 할 수 있으면 해당 클래스가 아직 만들어지지 않았을 경우는 아래처럼 클래스를 만드는 창이 나타나기 때문에 바로 생성할 수 있습니다.

JUnit 테스트케이스를 생성하는 창

Java 클래스를 생성하는 창

그밖에 수시로 테스트를 실행해야 하는데 기본 JUnit 테스트를 실행하는 단축키는 Alt + Shift + X, T이기 때문에 키조합도 불편하고 상당히 귀찮은데 MoreUnit에서는 Ctrl + R의 간단한 단축키로 바로 테스트를 실행해 볼 수 있습니다. 추가로 Ctrl + Alt + Shift + R을 사용하면 현재 위치한 유닛테스트만 실행해 볼 수 있기 때문에 테스트클래스전체를 실행하지 않고(테스트에 따라 오래걸릴 수도 있기 때문에) 로직을 작성하는 동안 관련된 테스트 메서드만 테스트해보면서 수시로 클래스 테스트 전체를 돌려 볼 수 있어서 무척 편리합니다.

MoreUnit 설정화면

일반적으로는 클래스명Test처럼 테스트클래스를 작성하지만 다른 컨벤션을 가지고 있다면 위처럼 MoreUnit설정화면에서 Prefixes와 Suffixes를 변경해 줄 수 있습니다.

플러그인을 너무 많이 쓰는것도 좀 귀찮은 일이긴 한데 MoreUnit은 정말 필수적인 플러그인이라 생각합니다. 물론 유닛테스트를 필수적으로 생각할 때 얘기겠죠. ㅎ
2011/06/22 00:49 2011/06/22 00:49