테스트 코드 작성 중 발생한 오류에 대해 적어보고자 한다.
위에서 보이다 싶이 Cannot find module 이라는 에러가 발생했다.
검색 결과 Nest에서 jest를 사용 시 경로 문제가 발생 하는 경우가 있고 package.json 파일을 수정해 주면 에러가 고쳐진다고 해서 수정해 주었다.
// package.json
// 변경 전
"jest": {
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir":"src",
"testRegex": ".*\\.spec\\.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"collectCoverageFrom": [
"**/*.(t|j)s"
],
"coverageDirectory": "../coverage",
"testEnvironment": "node",
"moduleDirectories": ["node_modules", "src"]
}
// 변경 후
"jest": {
"moduleDirectories": [
"node_modules",
"src"
],
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"roots": [
"src"
],
"testRegex": ".spec.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"coverageDirectory": "../coverage",
"testEnvironment": "node",
"moduleNameMapper": {
"src/(.*)": "<rootDir>/src/$1"
}
}