22.04.19 19:52 작성
·
273
1
저만 그런건지 모르겠지만 아래 환경에서 jest.fn() is not function 에러가 발생하고 있습니다.
1. Express.JS 사용 중
2. ES6 문법을 사용 중
3. package.json 에 "type":"module" 옵션 추가
4. 그로 인해 import 구문의 './파일명.js' 로 작성해야함
5. package.json 의 script 항목의 "test" : "jest" 를 아래로 변경 "node --experimental-vm-modules node_modules/jest/bin/jest.js"
에러 발생 원인은 '.js' 부분 떄문이라고 추측하지만 정확하지 않습니다. 떠힌 Jest NODEModules 기능은 실험적 기능이며, 몇몇 기능이 지원되지 않는 것이라고 추측하고 있습니다.
따라서 dev 환경에서는 ES6 를 쓰도록 별도로 셋업하고 ES5 로 빌드 하는 과정이 필요한 것이 아닌가 싶었습니다.
git clone https://github.com/unchaptered/express-web my-app 혹은
npx degit unchaptered/express-web my-app
cd my-app
npm i
를 이용해서 프로젝트를 셋업하고 작성하시면 됩니다.
커뮤니티에도 올려두었는데 문제 되는 부분 있으면 댓글 부탁드립니다.
ES6 Express Jest Boilerplate Template ES6 익스프레스 보일러플레이트 탬플릿 - 인프런 | 자유주제 (inflearn.com)
답변