[Test] 테스트환경 구축 시 모듈을 못찾는 에러

Gyuhan Park·2023년 8월 8일
0

Trouble Shooting

목록 보기
2/3
Type error: Cannot find module '@/components/...' 
or its corresponding type declarations.

Cannot find module '@'

next에서 테스트 환경 구축을 위해 테스트 라이브러리를 설치 후 여러 설정 을 거친 뒤 테스트 코드 실행해봤는데 아무리해도 위와 같은 오류가 뜬다.
왜 찾을 수 없을까...분명 경로에 있고 로컬에서도 불러와지고 실행도 잘되는데 찾을 수 없다고?

근데 갑자기 혹시 몰라서 상대경로로 해봤더니 됐다....!

tsconfig.json 에서 설정한 alias 를 인식하지 못하는 상태임을 알 수 있었다

그렇다고 test 환경에서만 상대경로를 사용해서 쓸 수는 없다. 컴포넌트 내에서 alias를 이용해서 import 한 경우 에러가 나기 때문이다!!!

🔥 결론

tsconfig.json 파일에 맞게 jest.config.js 를 설정해주면 된다.

// tsconfig.json
    "baseUrl": ".",
    "paths": {
      "@common/*": ["src/components/common/*"],
        ...
    }
// jest.config.js
  moduleNameMapper: {
    '@common/(.*)': '<rootDir>/src/components/common/$1',
	...
  }

나도 하면서 알았는데 jest --watch 를 사용하면 jest.config.js 파일을 바꾸고 저장했을 때 적용되는 것처럼 테스트코드가 다시 도는데 껏다가 다시 켜야 적용이 된다 !!!

profile
단단한 프론트엔드 개발자가 되고 싶은

0개의 댓글