JEST Unit .env 인식이 안될 때 해결 방법

2022. 6. 19. 14:18JEST

Jest를 이용한 unit 테스트를 진행 중에 process.env 가 인식 되지 않는다.

 

해결방법

 

1. .env에 들어간 내용을 envFile.ts 또는 envFile.js 로 만든다.

// envFile.ts
process.env.CRYPTO = process.env.CRYPTO;
process.env.JWTSECRET = process.env.JWTSECRET;

 

2. package.json에서 jest 설정 값을 수정해준다.

"rootDir" : 프로젝트 최 상위 위치를 넣어준다.

 

*  setupFiles에 rootDir를 입력 할 때는 <rootDir> 로 입력을 해주어야 한다.

"setupFiles": rootDir 기준으로 만들었던 envFile.ts 파일위치를 넣어준다. 

 // package.json 
 
 // package.json  ....
 
 "jest": {
    "setupFiles": ["<rootDir>/setEnvFile.ts"],
    "moduleFileExtensions": [
      "js",
      "json",
      "ts"
    ],
    "rootDir": ".",
    "testRegex": ".*\\.spec\\.ts$",
    "transform": {
      "^.+\\.(t|j)s$": "ts-jest"
    },
    "collectCoverageFrom": [
      "**/*.(t|j)s"
    ],
    "coverageDirectory": "../coverage",
    "testEnvironment": "node"
  }

 

출처 : https://stackoverflow.com/questions/48033841/test-process-env-with-jest

728x90
반응형