본문 바로가기
독서/개발

[서평 23년-20] 자바와 JUnit을 활용한 실용주의 단위 테스트

by 독서왕뼝아리 2023. 5. 6.

독서기간_2023년 2월 중순?
저자_제프 랭어, 엔디 헌트, 데이브 토마스
출간일_2019년 7월 3일


Java, JUnit만으로 테스팅을 공부할 수 있는 아주 좋은 책이다. 작년 10월쯤 우아한테크코스를 준비하면서 단위 테스트에 제대로 입문했었다. 우테코 이전에는 Spring Boot 공부하면서 테스트 코드를 작성하는데, Mock과 Inject의 개념이 잡혀있지 않은 채로 작성하려니 머리가 깨질 것 같았었다. (그때 Mock이란 개념을 처음 알긴 했지만...) 구글링해가면서 이렇게 로직을 테스트하는구나... 어림짐작하면서 코딩했었다. 남들이 when, then, mock 쓰니까 이렇게 하나보다...하고
 
이 책은 공채도 끝나고, 할 일도 없어서 읽기 시작했다. 그런데 굉장히 양질의 정보를 얻을 수 있었다. 단위테스트를 하는 이유부터 Mock으로 의존성을 주입하는 방법, Spring 통합 테스트까지! 테스트 해야 할 케이스와 Java 테스트 메서드 등 기초부터 알려준다. 공부를 하다보면 단위 테스트의 가벼움에 취하게 된다. 
 
하위 유닛이 정상적으로 작동하는 게 확인되면 상위 유닛만 신경쓰면 된다. 이래서 '실용주의'라고 하나보다. 물론 경곗값 테스트, 실패 테스트 등등 다양한 케이스를 모두 확인해야겠지만ㅎㅎ... 유닛테스트로 로직 검토 경험을 해보면 그 맛을 잊지 못한다. 특히 삼성 코테볼 때 메서드 로직 검토를 어찌나 하고 싶던지...... 
 
단, 아쉬웠던 점은 출판된 지 몇 년 돼서 JUnit4로 작성되어 있다는 점이다. 나는 프로젝트를 진행하며 JUnit5를 썼었다. 테스트 작성하는 방법은 크게 다르지 않지만, JUnit4와 JUnit5 메서드가 많이 달라서 JUnit5 용 메서드로 실습 코딩하려니까 약간 혼란스럽긴 했다. 당장 @Before와 @BeforeEach 애너테이션부터 다르기 때문에...
뭐 아직 많은 기업이 JUnit4를 쓰겠지? 둘 다 알면 더 좋겠지.....