[Nest.js에서 Jest] Cannot find module 'src/apis/payment/entities/xxx.ts' from 'src/apis/comments/entities/yyy.entity.ts'
in Error오답노트
Jest로 테스트 코드 짜려고 하는데 계속 에러가 뜬다….
모듈을 못찾겠댄다… 도대체 왜 못찾는데…!!!!
근데 생각을 해보니.. 테스트 환경에서는 실제로는 아무것도 없는 겉껍데기만 존재하는 환경이니까..
당연히 모듈을 못찾는게 맞지않을까..? 하는 생각이 들었다.
(역시.. 왜 안되는지 곰곰히 생각을 해보는게 중요)
역시나, 이런경우에는 이런 엔티티들을 연결시켜주는게 중요한게 아니라
설정에서 뭔가를 해주어야 했다.
바로바로…
package.json
에서 설정해줘야하는데…!
package.json 가장 밑으로 내려가보면 가장 밑에
"jest": {
~~~
}
라고하면서 Jest를 사용할때의 기본설정이 되어있는데,
이때 경로를 root로 설정해주어야 한다.
특히 모듈패스에… 추가지정을 해주어야 한다.
"jest": {
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"roots": [
"<rootDir>"
],
"modulePaths": [
"<rootDir>"
],
"moduleDirectories": [
"node_modules"
],
"testRegex": ".*\\.spec\\.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"collectCoverageFrom": ["**/*.{!(module),}.(t|j)s"],
"coverageDirectory": "../coverage",
"testEnvironment": "node"
}
이렇게 바꿔주면 모듈을 찾지 못했다는 에러는 사라진댜 유후 (〃´𓎟`〃)