Unit은 자바 애플리케이션의 단위 테스트를 위한 프레임워크로, 자바 개발자들에게 사실상의 표준으로 인정받고 있습니다. 2011년에 나온 《JUnit in Action》 2판은 JUnit 4를 기준으로 하고 있습니다. 저자의 말처럼 IT 업계에서의 10년은 한 세기나 다름없는 긴 시간입니다. 10여 년 사이에 자바는 엄청나게 변화했고 그에 맞춰 JUnit도 큰 변화가 있었습니다.

《JUnit in ACTION》 3판은 JUnit 5에 맞게 많은 부분이 새로 쓰였습니다. JUnit 5는 JUnit 4의 단점을 보완하는 동시에 자바 8 버전, 그러니까 모던 자바의 새로운 기능에 맞춰 많은 기능을 개선했습니다. 예를 들면 람다식이나 스트림 같은 최신 자바 기능을 지원합니다. 《JUnit in ACTION》 3판에서는 중첩 테스트, 태그를 사용한 테스트, 동적 테스트, 의존성 주입 등 JUnit의 최신 기법과 새로운 아키텍처를 다룹니다. 이론적인 설명에 이어 예제로 내용을 하나씩 구체화해 보여주고, 코드 조각이 아니라 거의 온전한 예제를 통해 맥락을 이해하도록 합니다.

JUnit 4에서 JUnit 5로의 전환이 간단하지는 않기 때문에 여전히 JUnit 4를 사용하는 곳이 많습니다. 이 책에서는 이런 어려움을 겪는 독자를 위해 JUnit 4의 특징과 기능을 정리하고, JUnit 4에서 JUnit 5로 전환하는 방법도 안내합니다.

JUnit 5의 내부 아키텍처 구성도.
모듈성을 강화해 IDE, 빌드 도구와 JUnit 4 간의
높은 결합도에서 발생하는 문제를 해결했다.

저자인 커털린 투도세는 JUnit 5를 활용한 테스트 피라미드 전략을 제시합니다. TDD로 나아가기 위해 JUnit 활용은 필수적입니다. 테스트는 개발 초반부터 이루어져야 하고 이를 위해 메서드나 클래스 단위에서 테스트하는 단위 테스트부터 실행합니다. 이 책에서는 테스트의 각 단계를 여러 방법으로 구현해 보면서 실무에서도 적용할 수 있도록 안내합니다. 프로세스 단계별로 테스트를 적용하면 최종적으로 버그를 최소화한 코드를 작성할 수 있게 될 것입니다.

테스트 피라미드. 맨 아래에는 간단한 단위 테스트가 기초를 이루고,
위로 올라갈수록 단위가 복잡해지며 종류가 적어진다.

[이 책에서 다루는 내용]

• JUnit 4에서 JUnit 5로 전환하기

• 효율적으로 테스트 자동화하기

• TDD와 BDD

• 테스트 격리를 위한 모의 객체 사용하기

• JUnit 5를 Maven이나 Gradle과 함께 다루기

이 책은 단순히 기초적인 JUnit 5의 사용법을 설명하는 데 그치지 않습니다. 개선된 아키텍처를 이용해 테스트를 확장하는 법, 그리고 프레임워크 테스팅과 TDD, BDD와 같은 현대적인 방법론에 이르기까지 JUnit 5을 어떻게 활용해야 할지 명확히 제시합니다. – 정종은(여기어때)

오늘도 수십, 수백 번 디버깅하면서 소스 코드와 씨름하고 있는 중이라면, 오랜 공을 들여 익숙하던 소스 코드와 시간이 지난 후 재회했을 때 서먹한 경험이 있다면, 그리고 엔지니어라면 누구나 공감하고 고민했을 부분에 양식이 되어줄 친절한 테스트 가이드입니다. – 노준(REAL I.V.)

이 책은 테스트를 작성하는 방법부터 JUnit의 아키텍처까지 깊이 있는 내용을 다루고 있습니다. TDD(테스트 주도 개발)가 유행하고 있는 요즘, 이 책은 테스트에 대한 깊이 있는 이해를 바탕으로 조금 더 쉽게 TDD의 세계로 여러분을 안내해 줄 것입니다. – 김보성(제이앤케이사이언스)

《JUnit inACTION》은 소스 코드의 품질을 높일 수 있는 필수 참고서입니다. 핵심 개념과 사용법을 예제를 통해 명확하게 알려주어 테스트를 쉽게 배울 수 있습니다. 다양한 주제와 효과적인 테스트 코드 작성법을 안내하기에, 개발자에게 꼭 추천하고 싶은 책입니다. – 이재원(키네마스터)

《JUnit in ACTION》 3판은 다음 서점에서 구입하실 수 있습니다.

교보문고 | Yes24 | 알라딘