컴포넌트 테스트 범위는 관찰 가능한 계약에서 멈춘다

구현 함수가 아니라 사용자가 보고 조작하는 DOM과 외부 경계의 결과를 검증한다.

포함

렌더 계약

props에 따른 텍스트·역할·상태 표시

포함

사용자 행동

클릭·입력·키보드 뒤 보이는 결과

대체

외부 경계

network·router·시간만 제어 가능한 fake로 교체

제외

구현 세부

내부 state·private 함수·class 이름 직접 단정

핵심리팩터링 뒤 사용자 계약이 같으면 테스트도 그대로 통과하는 범위가 적절하다.