RTL 기반 테스트는 구현 내부보다 사용자가 보고 누르는 표면을 기준으로 UI 계약을 고정합니다.
필수 텍스트, role, aria 상태가 props에 맞게 렌더링되는지 확인합니다.
클릭, 입력, 선택 후 콜백 호출과 화면 변화를 사용자 관점으로 검증합니다.
loading, empty, error, disabled 상태가 서로 겹치지 않고 분명히 보이는지 봅니다.
테스트 제목이 사용 시나리오를 말합니다.
role과 label을 우선 사용합니다.
findBy와 waitFor를 필요한 곳에만 씁니다.
의도 없는 대형 스냅샷은 줄입니다.