[에러 해결] jest에서 process.env 접근 불가

Noma·2024년 6월 10일
0
post-custom-banner

문제 상황

단위 테스트 작성후 yarn test를 하니 "Configuration must contain projectId"와 같은 에러가 발생했다.

해당 코드는 client를 생성하기 위해 config 객체를 인자로 전달하는데 그중에 특정 값이 없다고 뜬 것이다. 하지만 코드 상에서는 process.env.~~로 값이 잘 지정되어 있었다.

검색 해보니 Jest 환경에서 환경변수를 따로 설정해주지 않으면 테스트 실행시 에러가 난다고 한다.
이에 다음과 같은 방법으로 테스트를 위한 env 셋팅을 해주었다.

해결 방법

  1. 프로젝트 루트에 .env.test 파일 생성
  2. 해당 파일에 사용 중인 환경 변수 작성
  3. $ yarn add dotenv -D
  4. jest.config.js 파일에 dotenv 관련 설정 추가
const nextJest = require('next/jest');
const dotenv = require('dotenv');

const createJestConfig = nextJest({
  dir: './',
});

const customJestConfig = {
  ...
};
dotenv.config({ path: './.env.test' });

module.exports = createJestConfig(customJestConfig);

    ```
profile
오히려 좋아
post-custom-banner

0개의 댓글