react-testing-library 를 사용하여 TDD 개발 흐름으로 투두리스트 만들기
비동기적으로 바뀌는 컴포넌트 UI 테스트
비동기적으로 바뀌는 컴포넌트 UI 테스트
Async Utilities 함수를 사용
wait
- 해당 함수를 사용하여 특정 콜백에서 에러를 발생하지 않을때까지 대기
- timeout을 초과하면 테스트 실패(timeout 기본값 4500ms, 커스터마이징가능)
- 리액트 16.8 버전 버그있음
waitForElement
- 해당 함수로 특정 엘리먼트의 변화가 생길때까지 대기(show, hide, change..)
- 프로미스가 끝날때 선택한 엘리먼트 resolve
waitForDomChange
- 해당 함수 특징으로 콜백함수가 아닌 검사하고 싶은 엘리먼트를 넣어주면 해당 엘리먼트 변화가 발생할때까지 대기
- 프로미스가 resolve 되면 mutationList를 통해 DOM의 변화 정보를 알 수 있음
waitForElementToBeRemoved
- 특정 엘리먼트가 화면에서 사라질때까지 대기
REST API 호출 테스트방법
- axios 설치, JSONPlaceholder를 통해 가짜 API 사용할 주소로 API 호출
- 이때 실제 요청하지 않고 node_modules를 mocking하는 방법 혹은 axios-mock-adapter라이브러리 사용
react-testing-library 를 사용하여 TDD 개발 흐름으로 투두리스트 만들기
https://velog.io/@velopert/tdd-with-react-testing-library
비동기적으로 바뀌는 컴포넌트 UI 테스트
'아티클' 카테고리의 다른 글
[아티클 프로젝트 028] ES6부터 ES2020까지 02. ES7, ES8 간단하게 알고가기 (0) | 2020.08.19 |
---|---|
[아티클 프로젝트 027] ES6부터 ES2020까지 01. ES6 간단하게 알고가기 (0) | 2020.08.18 |
[아티클 프로젝트 025] React밖에 모르는 당신에게. GatsbyJS한 잔, '채용~' (0) | 2020.08.12 |
[아티클 프로젝트 023] 2020년과 이후 JavaScript의 동향 - JavaScript(ECMAScript) (0) | 2020.08.10 |
[아티클 프로젝트 018] react-testing-library 를 사용한 리액트 컴포넌트 테스트 (0) | 2020.08.04 |
[아티클 프로젝트 016] TDD의 소개 (0) | 2020.07.31 |
[아티클 프로젝트 015] 자바스크립트-테스팅의-기초 (0) | 2020.07.30 |
[아티클 프로젝트 013] clean-code-javascript (0) | 2020.07.28 |