행동 기준 작성
컴포넌트 내부 state보다 사용자가 보는 텍스트, 버튼, 로딩 상태를 검증한다.
사용자 계약테스트는 사용자 행동의 계약을 고정하고, 최적화는 렌더링 증거가 있을 때만 memoization 경계를 추가한다.
컴포넌트 내부 state보다 사용자가 보는 텍스트, 버튼, 로딩 상태를 검증한다.
사용자 계약API 응답 뒤 UI 변화는 findBy, waitFor로 실제 화면 전환을 기다린다.
async UIProfiler로 불필요한 commit과 비싼 계산을 확인한 뒤 원인을 좁힌다.
근거memo, useMemo, useCallback은 props 안정성과 계산 비용이 확인된 위치에만 둔다.
targeted memoexpect(screen.getByRole("button", { name: "저장" })).toBeEnabled()
// Profiler: commit time before/after 기록