코드 품질 개선 - 세션 56: 80%의 기대치
·2025.12.05 11:00
핵심 내용
JSON 유닛 테스트 시 문자열을 직접 비교하는 대신 구조를 추상화하여 검증함으로써 테스트의 유연성과 정확성을 높여야 한다.
자세히 보기
JSON 문자열을 저장하는 JsonStringWriter를 테스트할 때, 기대값을 단순 문자열로 지정하면 여러 문제가 발생한다. JSON 형식이 유효한지 검증할 수 없고, 공백이나 줄바꿈 같은 포맷 변화에도 테스트가 실패하는 과도한 엄격함이 발생하며, 테스트의 목적이 불분명해진다.
이를 해결하기 위해 argThat을 사용하여 기대값을 추상화할 수 있다. 입력된 문자열이 유효한 JSON인지 확인하고, 특정 키와 값이 일치하는지만 검증함으로써 테스트의 의도를 명확히 한다.
하지만 이러한 방식은 구현 세부 사항에 의존하거나 코드가 중복될 위험이 있다. 이를 방지하기 위해 **테스트 더블(Test Double)**로서의 Mock을 직접 구현하는 것이 권장된다. MockJsonStringWriter와 같은 전용 Mock 객체를 사용하면 복잡한 파싱 로직을 캡슐화하여 테스트의 유지보수성을 높일 수 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.