콘텐츠

ArchUnit을 활용한 아키텍처 규칙의 테스트 코드 강제화

역량 개발 · 우아한기술블로그 · 2026.09.07

문서나 코드 리뷰에만 의존하던 아키텍처 규칙을 ArchUnit을 통해 테스트 코드로 자동 검증하고 강제하는 방법에 대해 소개합니다. 팀 내에서 Hexagonal Architecture를 실용적으로 적용하면서 겪었던 어려움과, 이를 해결하기 위해 ArchUnit의 FreezingArchRule 기능을 사용하여 레거시 코드는 동결하고 신규 위반 사항만 차단하는 단계적 도입 과정을 상세히 다루고 있습니다. 또한, Lombok과 같은 @Retention(SOURCE) 어노테이션은 바이트코드 분석의 한계로 인해 감지되지 않는 문제를 소스 스캐닝으로 해결한 사례와 AI 에이전트를 활용해 도입 비용을 줄인 경험도 공유합니다. 이를 통해 신규 위반 사항을 0건으로 유지하며 기술 부채를 점진적으로 해결해 나가는 실무적인 노하우를 배울 수 있습니다.