typescript에서 jest 쓰기

Jest encountered an unexpected token
SyntaxError: Cannot use import statement outside a module

따라하기

terminal
1
2
3
4
5
6
7
# jest 설치
yarn add --dev jest
yarn add --dev @types/jest

# typescript에서 jest 돌리기 위한 추가 종속성 설치
yarn add --dev @babel/preset-typescript
yarn add --dev babel-jest @babel/core @babel/preset-env
  • 종속성을 설치한다
babel.config.js
1
2
3
4
5
6
module.exports = {
presets: [
['@babel/preset-env', { targets: { node: 'current' } }],
'@babel/preset-typescript',
],
};
  • babel.config.js 를 추가한다

eslint를 같이 사용하고 있다면

eslintrc.json
1
2
3
4
5
6
7
{
"env": {
// ...
"jest": true
}
// ...
}
  • eslintrc 에 env.jest를 true로 해준다

참고

jest 'describe' is not defined

.eslintrc.json
1
2
3
4
5
6
7
{
"env": {
// ...
"jest": true
}
// ...
}
  • env에 추가해준다
  • ⚠️ 추가 해주고 F1 > eslint.restart 명령을 실행해 eslint를 재부팅한다

상황

  • jest를 eslint와 처음 사용해본다

eslint(no-undef)

‘describe’ is not defined.
‘test’ is not defined.
‘expect’ is not defined.

  • 위 에러가 나왔다

참고