AI Briefing

실무 테스트 코드 작성 노하우 Part 2: 테스트 코드를 통한 피드백 활용하기

·2023.08.28 19:00

테스트 코드를 구현 코드의 첫 사용자로서 활용하여 객체의 책임을 분리하고 코드 디자인을 개선할 수 있다.

테스트 코드는 단순히 로직을 검증하는 도구를 넘어, 구현 코드의 첫 사용자 역할을 수행한다. 테스트 코드가 전달하는 피드백을 반영하면 구현 코드를 더 간결하고 검증하기 쉬운 구조로 개선할 수 있으며, 이는 더 나은 코드를 작성하는 선순환 구조를 만든다.

객체의 **책임(Responsibility)**은 변화에 대응하는 핵심 요소다. 만약 PartnerClient 객체가 HTTP 통신과 비즈니스 로직이라는 두 가지 책임을 모두 가지고 있다면, API 규격이 변경되거나 비즈니스 로직이 수정될 때마다 코드의 영향 범위가 넓어져 유지보수가 어려워진다.

책임이 제대로 분리되지 않은 코드는 테스트 과정에서 다음과 같은 피드백을 준다:

  • **주요 관심사(Main Concern)**를 가리는 불필요한 테스트 코드 양의 증가 (예: HTTP 메서드나 응답 본문에 과도하게 관여함)
  • **역직렬화(Deserialization)**와 같은 핵심 로직을 검증하기 어려운 구조

이러한 피드백을 바탕으로 PartnerClient를 HTTP 통신만 담당하도록 리팩토링하여, 변화에 유연하게 대응할 수 있는 구조로 개선할 수 있다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.