평범한 개발자 행복한 가족, 패밀리그램

개발/React

React 에서 jest 를 이용한 API test 시 timeout 변경

패밀리그램 2020. 9. 18. 11:01

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 에서는 위와같은 방법으로 처리하니 설정이 간단하게 변경되었다.

반응형