kimddakki 2022. 6. 10. 18:47
TypeScript Jest로 test 할 때 import 사용 하는 방법

1. jest 를 TypeScript 에서 사용하기 위해 필요 한 패케지들과 바벨 플러그인 설치

yarn add -D jest ts-jest @types/jest
yarn add -D @babel/preset-typescript @babel/preset-env

2. 바벨 설정

// .babelrc
{
  "presets": ["@babel/preset-typescript", "@babel/preset-env"],
}

안 된 이유

 - 테스트 코드는 Jest 모듈이 실행시키는 데 이 Jest 모듈은 별다른 설정을 해주지 않으면 테스트 대상 코드가

   JavaScript 일 것이라고 생각 해 에러가 발생했던 것이다!!

해결 방법

 - Jest는 친절하게도 바벨을 참조하여 파일을 내부적으로 트랜스파일 한 뒤 실행하는 듯하다.

 - @babel/preset-env는 ECMAScript2015(es6) 이상의 코드를 이전 버전으로 바꾸어 준다.

    이 preset 을 적용시킴으로써 import를 사용할 수 있게 된다.

 - @babel/typescript 는 타입스크립트를 js로 바꾸어준다. 이 preset를 빼먹으면 위와 같은 에러가 나온다.

 


 

 

[Typescript] jest로 test할 때 import 사용하기

jest 에서 import가 동작하도록 해보자.

velog.io