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