코드 품질 개선 - 세션 42: 이론적 테스트
·2025.08.15 11:00
Enum 타입 추가 시 발생할 수 있는 매핑 누락 문제를 테스트 대신 정적 검증으로 해결하는 방법을 제안한다.
계정 유형을 나타내는 AccountType과 같은 Enum 클래스에 따라 서로 다른 아이콘을 표시해야 하는 상황을 가정해 보자. 만약 해당 Enum이 UI 전용이라면 클래스 내부에 아이콘 속성을 직접 정의할 수 있지만, 여러 모듈에서 광범위하게 사용된다면 특정 모듈의 의존성으로 인해 코드가 비대해질 수 있다.
이런 경우 별도의 Map을 사용하여 변환 메커니즘을 구축하는 것이 효율적이다. 하지만 새로운 계정 유형이 추가될 때마다 Map을 함께 업데이트하지 않으면, 런타임에 null이 반환되는 문제가 발생할 수 있다.
이를 방지하기 위해 기존에는 모든 Enum 항목이 Map에 포함되어 있는지 확인하는 **단위 테스트(Unit Test)**를 작성해 왔다. 하지만 더 나은 방법은 테스트나 런타임 어설션(Assertion)에 의존하는 대신, **정적 검증(Static Verification)**을 사용하는 것이다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.