Loading...
잠시만 기다려 주세요.
disabled 상태는 동기적으로 변경되지만, on 상태 및 최종 disabled 해제는 setTimeout을 통해 0.5초 지연 후 비동기적으로 처리됩니다. ⏳render 함수로 컴포넌트를 렌더링하고, screen.getByRole과 toHaveAccessibleName, toBeEnabled 매처를 사용하여 초기 텍스트와 활성화 상태를 검증합니다. 🖼️queryBy 사용: 특정 요소가 문서에 존재하지 않음을 테스트할 때는 getBy 대신 queryBy 함수를 사용하여 예외 발생 없이 null 반환을 처리하고 not.toBeInTheDocument로 검증합니다. ❓@testing-library/user-event 패키지의 user.click과 같은 비동기 함수를 사용하여 사용자 상호작용을 시뮬레이션하며, 반드시 await를 사용해야 합니다. 👆disabled 상태가 동기적으로 true로 변경되는 것을 expect(button).toBeDisabled()로 즉시 검증할 수 있습니다. ⚡setTimeout 등으로 인한 지연 후 UI가 업데이트되는 경우, screen.findByRole과 같은 findBy 계열 함수를 사용하여 요소가 나타날 때까지 기다린 후 검증합니다. 함수는 비동기이므로 가 필요합니다. 🔍findByawaitwaitFor 함수는 인자로 전달된 콜백 함수가 성공적으로 실행될 때까지 기다려주므로, 특정 조건(예: 텍스트 변경)이 충족될 때까지 기다리는 등 findBy보다 더 유연한 비동기 검증에 활용할 수 있습니다. 🧘waitForElementToBeRemoved 함수나 waitFor 함수를 사용하여 해당 요소가 DOM에서 제거될 때까지 기다린 후 검증합니다. 🗑️findBy, waitFor, waitForElementToBeRemoved 등 테스팅 라이브러리가 제공하는 비동기 테스트 API를 잘 활용하면 복잡한 비동기 로직을 효과적으로 테스트할 수 있습니다. 🛠️Recommanded Videos

2025. 11. 7.
![[10분 테코톡] 헤일러의 Terraform으로 인프라 자동화하기](https://i2.ytimg.com/vi/57FJoXsbf2s/hqdefault.jpg)
2025. 11. 11.

2025. 6. 9.

2025. 7. 21.

2025. 8. 19.

2024. 9. 15.