API 에러 체크를 쉽게 하기 위해 테스트 대상인 API 리스트를 jest test 를 이용해 테스트하기로 했다.
API 응답에러를 체크하기 위한 테스트이기 때문에 retry policy는 제거하고 순수 1회 요청했을 때 실패를 확인하려고 한다.
API timeout error
jest에서 timeout은 기본 5000ms ( 5초) 로 설정되어 있다. 간헐적으로 트래픽이 몰릴때 응답이 지연될 경우가 있는데 backend 쪽 timeout 에러가 아닌데, jest 설정의 기본 timeout 시간을 초과하여 에러가 발생한다.
이런 문제로 jest timeout 을 변경하면 되는데, 이 부분은 간단하게 변경가능하다
jest.setTimeout(10000); // in milliseconds
https://jestjs.io/docs/en/jest-object#jestsettimeouttimeout
각 *.test.js
또는 *.test.ts
상단에 위 jest 설정을 추가하면 각 test case의 timeout 을 변경 할 수 있다.
전체 timeout 을 변경하려면 ?
{root}/src
위치에 setupTests.js
를 추가한뒤 해당 파일 안에
jest.setTimeout(10000); // in milliseconds
를 설정해주면 기본 test 시 기본 timeout 설정이 변경되게된다.
https://jestjs.io/docs/en/configuration 에서는 jest.config.js
를 추가하여 setupFilesAfterEnv
를 지정하라고 되어있는데
React project 에서는 위와같은 방법으로 처리하니 설정이 간단하게 변경되었다.
'개발 > React' 카테고리의 다른 글
React Scripts 4.x -> 5.x 마이그레이션 (0) | 2023.10.26 |
---|---|
React Chunk hash를 제거 해보자 (0) | 2022.04.15 |
axios + rxjs 를 이용한 API retry policy (0) | 2021.09.26 |
axios 를 이용한 REST API 호출 및 취소 (0) | 2021.09.26 |
react-script 업데이트 IE11 동작하지 않는 문제 (0) | 2020.09.18 |