[워밍업 클럽 스터디 2기 - BE] (클린코드, 테스트코드) 4주차 발자국

해당 포스팅은 Practical Testing: 실용적인 테스트 가이드를 학습하면서 작성한 회고입니다.


학습 회고

Mock 사용 방법에 대해 다루었고, 구체적으로 Mocking 시점과 방법, Mocking을 적용할 적절한 시점에 대해 명확하게 이해할 수 있었고, Mock을 활용하여 더욱 효율적인 테스트 작성에 대한 설명을 통해 여러 고민을 해볼수 있는 좋은 시간이었습니다.

 

Mock 활용과 Testing 전략

Mock을 사용하는 시점에 대해 Classicist와 Mockist 관점을 접하며, 각 접근 방식의 장단점을 비교해 볼 수 있었습니다. Classicist는 실제 객체를 활용한 통합 테스트에 집중하는 반면, Mockist는 Mocking을 통해 테스트 효율을 높이고 빠르게 검증하는 데에 초점을 맞추는 방식입니다. 개인적으로는 Mockist 방식이 코드의 효율적인 테스트를 위해 더 적합하게 느껴졌습니다. Mock과 Stub, Spy를 포함한 다양한 테스트 Double의 기능을 익히면서 단위 테스트와 통합 테스트에 맞는 도구를 선택하는 방법을 명확히 알게 되었습니다.

 

개선된 테스트 작성에 대한 구체적인 팁

더 나은 테스트를 위해 필요한 몇 가지 구체적인 조언을 배웠습니다.
먼저, 각 테스트는 하나의 주제에 집중하도록 구성하여 가독성을 높이는 것이 중요하다는 점을 강조하고 있습니다.
또한, LocalDateTime.now()와 같은 변동 가능한 값들은 제어 가능한 상태로 고정하고, 테스트 간 독립성을 보장하는 것이 좋다는 것을 확인할 수 있었습니다. 그리고 @ParameterizedTest와 @DynamicTest를 통해 반복적이거나 변동하는 시나리오를 효율적으로 테스트하는 방법도 배우게 되었습니다.

 

Spring REST Docs와 API 문서화

테스트를 기반으로 API 문서를 자동으로 생성하는 Spring REST Docs도 다루었습니다. 이는 개발 문서의 신뢰도를 높여주기 때문에 협업 시에도 큰 장점이 될 수 있지만, 설정이 다소 복잡하고 문서 작성 시 코드 양이 많아지는 단점도 존재합니다. 이번에 배운 내용을 바탕으로 Spring REST Docs 설정과 활용 방법을 추가로 학습해보고 싶습니다.

 

전체 회고

4주간 진행된 스터디를 통해 클린 코드와 테스트 코드의 중요성을 재차 느끼게 되었으며,
이번 학습이 실제 업무와 개인 프로젝트에서 코드 품질을 높이는 데 큰 밑거름이 될 것이라고 생각합니다.
평소 테스트 코드와 관련해 갈망이 있었으나 실제로 깊이 있게 배워본 적은 없었는데, 이번 기회를 통해 실질적인 테스트 작성 방법과 Mocking 전략을 체계적으로 학습할 수 있어 좋았습니다.
스터디가 끝난 후에도 배운 내용을 바탕으로 테스트 코드 학습을 꾸준히 이어나갈 계획입니다.

댓글을 작성해보세요.

채널톡 아이콘