JEST#1-2. Babel을 접하다

깡통·2024년 2월 7일
0
  • 일전에 튜터님으로부터 jest로 express와 상호작용하면서 테스트하기 위해선 babel이 필요하단 말을 들었던 거 같았다. 그래서 babel을 설치하기로 한다.

  • jest 공식 페이지에 가서, 아래 명령어를 받아서 vsc git bash 터미널에 입력해 설치한다.

npm install --save-dev babel-jest @babel/core @babel/preset-env

-그 후, 루트 디렉토리 최상단에 'babel.config.js'란 파일을 만들고 아래 코드를 붙여넣는다.

javascript

module.exports = {
  presets: [['@babel/preset-env', {targets: {node: 'current'}}]],
};
  • 참고로 당신이 만약 es6 모듈을 사용하고 있다면, babel.config.js가 아닌 babel.config.cjs로 파일명을 작성해야 한다.

그러자...

  • 드디어 'res not defined'의 지옥을 벗어났다.

  • 이건 한 테이블에서 자신을 포함해서 관계가 있는 테이블까지 한번에 생성해 주는 방법

  • 으아아아아 해결된 줄 알았는데 아니었다. 데이터베이스에 데이터 1개 집어넣고 돌렸더니 해결된 줄 알았던 res is not defined가 다시 나타났다...

  • 결국 response 메서드를 속여야 한다는 결론에 다달았고, jest.mock('express')를 사용했는데... 왜 인식을 못하지? 이거 공식 문서에 있는 메서드인데?

  • 오만 방법을 다 동원했는데도 안돼서 뒤져보니 주석처리 돼있었다. 아무래도 es6 환경에선 쓸 수 없는 메서드인거 같다.

  • 드디어 구세주를 찾았다. https://www.npmjs.com/package/@jest-mock/express 이다.

profile
코딩하러 온 사람입니다.

0개의 댓글