-
🤔 테스트 주도 개발이란? (TDD)
실제 코드를 작성하기 전에 테스트 코드를 먼저 작성한다. 테스트 코드를 작성한 후 그 테스트 코드를 통화할 수 있는 실제 코드를 작성한다.
😊 TDD를 하면 좋은 점
- 많은 기능을 테스트하기에 소스 코드에 안정감이 부여된다.
- 디버깅 시간이 줄고 실제 개발 시간을 단축시킬 수 있다.
- 깨끗한 코드가 나올 확률이 높다.
React Testing Library
Create React App
으로 생성된 프로젝트는 즉시React Testing Library
를 지원한다.npm
을 통해 설치할 수도 있다.npm i @testing-library/react
쿼리 함수
쿼리는 페이지에서 요소를 찾기 위해 테스트 라이브러리가 제공하는 방법이다. 여러 유형의 쿼리(get, find, query)가 있으며 이들의 차이점은 요소가 발견되지 않으면 오류가 발생하거나 Promise를 반환하고 다시 시도하는 지의 여부이다.
getBy
쿼리에 대해 일치하는 노드를 반환하고 일치하는 요소가 없거나 둘 이상의 일치가 발견되면 설명 오류를 발생시킨다. (둘 이상의 요소가 예상되는 경우에는
getByAll
사용)queryBy
쿼리에 대해 일치하는 노드를 반환하고 일치하는 요소가 없으면
null
을 반환한다. 둘 이상의 일치 항목이 발견되면 오류를 발생시킨다. (확인된 경우 대신queryAllBy
사용)findBy
주어진 쿼리와 일치하는 요소가 발견되면
Promise
를 반환한다. 요소가 없거나 기본 제한 시간인 1000ms 후에 둘 이상의 요소가 발견되면 약속이 거부된다. (둘 이상의 요소를 찾아야 하는 경우는findAllBy
사용)waitFor
일정 기간동안 기다려야 할 때 사용한다. 기대가 통과할 때까지 기다릴 수 있다.
해당 포스팅은 인프런 '따라하며 배우는 리액트 A-Z' 강의를 듣고 정리한 내용입니다:)
728x90'React' 카테고리의 다른 글
useReducer, Context, Redux 차이 (0) 2022.11.16 Jest (0) 2022.11.10 React project 복사하기 (0) 2022.11.10 useEffect에서 async/await 사용하기 (0) 2022.09.29 불변성 지키기 (0) 2022.09.20 댓글