테스트코드를 명세로? DCI 패턴 적용기
·
Study/Test
TL;DR테스트 코드도 하나의 명세서처럼 읽혀야 한다는 피드백을 받고 DCI 패턴을 적용해 보았다.JUnit에서 @Nested 와 @DisplayNameGeneration 애노테이션을 활용해 테스트 흐름을 구조화했고, 그 결과 테스트의 가독성이 좋아지고 유스케이스 분리가 훨씬 쉬워졌다. 왜 고쳐야 하는데?사이드 프로젝트에서 테스트 코드 리뷰 중 이런 피드백을 받았다.“메서드명에 테스트에서 검증하고자 하는 바가 잘 드러나지 않는다.” ”테스트코드는 사용 설명서로도 작용할 수 있어야 한다.”사실 되돌아보면 테스트 메서드 이름에 그렇게까지 신경 써야 하나 싶어서 나름 의미만 통하면 괜찮다고 생각하며 대충 지어왔던 것 같다.코드만으로도 어느 정도 흐름 파악은 되겠지만, 그 테스트가 무엇을 어떤 맥락에서 검증하고..