현재 나는 nextjs에 tailwind를 사용중이고 테스팅은 jest와 react-testing-library를 사용중이다. 테스팅 진행 중 다른 파일들은 문제가 없는데 jest가 Swiper라이브러리의 파일들을 parsing하지 못하는 문제가 발생했다.
아래와 같은 에러메세지가 발생했고, 에러 위치는 Swiper라이브러리의 파일들이다.
jest가 Swiper라이브러리를 transform하는 과정에서 에러가 발생한 것 같다.
jest의 default옵션은 node_modules를 transform하지 않는데 왜 Swiper라이브러리는 transform이 시도되었을까?
찾아보니 몇몇 라이브러리들은 테스트에서 사용되는 컴포넌트 혹은 기능들을 export하기 위해 module형식으로 제공하는데 이 경우, jest에서 해당 모듈을 변환하려고 시도하는 경우가 종종 있는 것 같다.
jest 실행 시, transformIgnorePatter
옵션을 추가하여 명시적으로 Swiper라이브러리를 transform 하지 못하게 한다.
흔히 babel의 주요 기능 중 하나인 transpile과 같은 개념이다.
jest는 testing을 하기 전에 test할 코드들을 jest가 실행 가능한 형식으로 변환시킨다. 이 과정을 통해 jest는 다양한 유형의 파일들을 테스트 할 수 있는 것이다.