단위 테스트를 위한 JUnit

By | 2011년 6월 30일

지금은 많은 개발자에게 관심을 얻고 있지만, 불과 몇 년 전까지만 해도 JUnit이라는 이름은 상당수의 자바 개발자들에게 생소한 개념이었습니다. 그런데 이제는 600페이지가 넘는 한 권의 테스트 서적으로 나왔다는 것이 놀랍기도 하네요^^

JUnit에 대해 간단히 설명하면 다음과 같습니다.
1997년 에릭 감마와 켄트 벡이 자바를 위한 단위 테스트 프레임워크를 만들어 그 이름을 JUnit이라 지었습니다. 이후 개발을 주도한 두 개발자와 함께 그 이름이 점차 알려지며, 발전을 거듭해 현재는 Ajax HTML 기반 표현 계층 및 OSGi 같은 애플리케이션 프레임워크 테스트 기능까지 제공하고 있습니다.




눈치채셨다시피 이번에 소개할 것은 다양한 JUnit 테스트 비법을 담고 있는 『JUnit in Action: 단위 테스트의 모든 것』입니다! 일단 이 책의 가장 놀라운 점은 판타스틱한 저자진을 들 수 있습니다. 먼저 아파치 프로젝트에서 다방면으로 오랫동안 활동한 피터 타치브, JavaOne 연사 및 저자로도 활동한 펠리페 레미, Cactus Cargo의 아버지 빈센트 마솔, 역시 아파치 등에서 활발하게 활동한 게리 그레고리 등.. 이름과 활동 내역만 살펴봐도 쟁쟁합니다. 게다가 이 책을 쓰면서 성심성의껏 만든 예제를 오프소스 재단에 기부하겠다는 각오까지 밝히며 개발자들의 성장에 적극 기여하고 있으니 더욱 놀랍습니다.

책 내용도 호평할만 합니다. 이 책은 JUnit in Action의 개정판으로 기본적인 단위 테스트 및 격리 테스트를 위한 목(mock) 객체 사용법부터 Java EE나 데이터베이스 애플리케이션을 위한 In-container 테스트 방법은 물론 Ant, Maven, Cactus를 이용한 테스트 등을 다룹니다. 또 저자들이 실무에서 겪었던 경험을 토대로 테스트 작성을 단순화하는 법, 개선된 예외 처리, assert 메서드 등 버전이 바뀌며 새롭게 도입된 주제들을 쉽게 설명합니다. 그 외에도 다른 유망한 오픈소스 프레임워크와 툴에 JUnit을 통합하는 방법까지 다루고 있어서 더욱 유용하겠다는 생각이 듭니다.

번역하시느라 고생하신 역자분 외에도 추천평을 써주신 국내 테스트 전문가 세 분은 입을 모아 “이 책의 가치는 다양한 JUnit 테스트 방법을 한 번에 살펴볼 수 있는 것”이라고 말하셨습니다. 한번 살펴볼까요.

 이 책은 단위 테스트 프레임워크의 어머니라 할 수 있는 JUnit을 중심으로, 단위 테스트의 효과와 중요성, 성격이 다른 소프트웨어 각 영역별 지원 툴, 이들을 개발 프로세스에 녹이고 자동화시키는 방법까지, 내가 아쉬워했던 세 가지 영역을 골고루 아우른다.
이복연 (역자서문 중에서)

 제가 쓴 『자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기』가 테스트에 대해서 전반적으로 다룬 책이라면, 이 책은 자바 개발자 분들의 친구가 되어야 하는 JUnit의 바이블이라고 할 수 있습니다. 처음 JUnit을 알게 되면별거 아니네라고 생각할 수도 있지만, JUnit과 친해지면 친해질수록 너무 고민을 많이 해야 하는 친구라고 생각될 것입니다. 그런 여러분의 고민을 덜어줄 수 있는 책입니다.
이상민 (NHN 『자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기』)

TDD와 단위 테스트에 대한 책을 쓴 사람이 비슷한 주제의 다른 저자 책에 추천사를 쓰는 아이러니는 우선 뒤로 남겨놓고 이야기 했을 때, 이 책은 충분히 읽어볼만한 가치가 있습니다. 단위 테스트 작성시 기술적인 어려움에 처했을 때 도움을 줄 수 있는 여러 팁이 들어있는 좋은 책입니다. 다만 한 가지, 노파심에서 이야기 드린다면 책을 읽는 것이 중요한 것은 아닙니다. 잊지마세요. 중요한 것은 실천해보고, 스스로 느껴보는 것입니다. 그럼, 행운을 빕니다! 😀
– 채수원 (LG CNS 『테스트 주도 개발: 고품질 쾌속 개발을 위한 TDD 실천법과 도구』)

애자일 개발이 성공하려면 반드시 필요한게 테스트 자동화입니다. 이런 생각 하시나요. ‘JUnit 너무 오래됐잖아. 팬시한 도구 없나? 손쉽게 테스트를 자동화하는 상용도구는 없나?’ 은탄환은 없습니다만, 이 책(JUnit in Action) JUnit을 기반으로 테스트를 자동화하는 다양한 대안을 제시합니다. 일단 JUnit 같은 도구로 차근차근 기본부터 밟아 나가세요. 아마 이 책이 좋은 길잡이가 될거라 생각합니다.
황상철 수석 (NHN 생산성혁신랩)


한편 해외의 추천사도 있습니다.

JUnit은 물론, 단위 테스트 전반에 대한 최고의 안내서.
타이슨 맥스웰 (Tyson S. Maxwell), 레이시온(Raytheon)

JUnit 사용을 진지하게 고려 중인 모든 이에게 이 책을 권한다.
로버트 핸슨(Robert Hanson), GWT in Action의 저자

단위 테스트를 위한 견실한 토대를 제공한다. 특히 Ant Maven 및 이클립스 사용자에게 더욱 유용하다.
더그 워렌 (Doug Warren), Java Web Services

이 책 안에서 테스트하는 방법 전부를 만나볼 수 있다!
존 그리핀 (John Griffin), Hibernate Search in Action의 저자


만약 여러분이 테스트에 대해 잘 알고 싶다면, 이 책과 함께 정진해보시죠.
테스트 전문가로 가는 길이 그리 힘들거나 멀지만은 않을 것이라고 생각합니다!^0^

  

.

2 thoughts on “단위 테스트를 위한 JUnit

  1. 레몬에이드

    단위테스트의 중요성을 아는사람이라면 이미 알고 있겠죠. 그리고 이 책 원서도 정말 좋다는 얘길 들어서 기대가 됩니다 ㅎ

    Reply
  2. 인사이트

    저자분들의 내공이 대단해서 그런지 좋은 내용을 담고 있는 것 같습니다. 많은 도움이 되었으면 좋겠습니다^^

    Reply

댓글 남기기