[Jest] *** Unresolved reference 에러 해결

Falcon·2024년 12월 20일
1

javascript

목록 보기
29/29
post-thumbnail

문제 상황

Nodejs 프로젝트에서 jest 가 설치되어 있음에도
test code 에서 expect(), describe() 등의 메소드가 인식되지 않았다.

package.json

  "devDependencies": {
    "jest": "^29.7.0"
  }

원인

jest 패키지는 expect(), describe() 등에 대한 타입 힌트를 제공하지 않는다.

해결 방안

(1) @types/jest 설치

@types/jest 패키지는 jest 패키지의 모든 타입 힌트를 제공한다.

$ npm install -D @types/jest
# 또는
$ yarn add -D @types/jest
  "devDependencies": {
    "@types/jest": "^29.5.14",
    "jest": "^29.7.0"
  }

(2) Intellij Libriary 설정

모든 프로젝트에 @types/jest 를 사용할거라면
Intellij IDEA 글로벌 설정으로 적용해둘 수 있다.

Project Setting > Languages & Framewoks > JavaScript > Libriries > Download > jest 입력 > Download and Install

Projects > External Libriries > Global @types/jest 생성을 확인할 수 있다.

@types/jest 프로젝트 설정 없이 모든 프로젝트에 jest type 힌트를 제공한다.

Intellij 는 어떻게 Global @types/jest 를 관리하나?

무슨 마법을 부린게 아니고 아래와 같은 경로를 찾아가면
@types/* 모듈 설치파일을 직접 확인할 수 있다.

C:\Users\{UserName}\AppData\Roaming\JetBrains\IntelliJIdea2024.3\javascript\extLibs\global-types\node_modules\@types

즉, Intellij IDEA 폴더 자체 내에 설치된 Global 패키지를 따로 운영한다.
=> 프로젝트 패키지와는 무관하다.

profile
I'm still hungry

0개의 댓글