Node.js2022. 10. 7. 16:00[NestJS] e2e테스트 Jest 테스트 시 DB 초기화하는 법

e2e 테스트는 매번 데이터베이스를 초기화해줄 필요가 있습니다. 다만.. 저는 Jest를 쓰는데 따로 초기화 해주는 함수가 없었습니다. (있으면 알려주세요!) 그런 이유로 방법 계속 찾아봤는데 따로 메소드를 제공해주지 않아서 팁 정도를 찾아서 이를 공유하고자 합니다. import { Test, TestingModule } from '@nestjs/testing'; import { TypeOrmModule } from '@nestjs/typeorm'; import { Connection } from 'typeorm'; import ormConfig from './orm-config'; import { AppController } from '@app/app.controller'; import { UserMo..

[NestJS] EntityMetadataNotFound Error: No metadata for * was found.
Node.js2022. 8. 12. 13:12[NestJS] EntityMetadataNotFound Error: No metadata for * was found.

엔티티를 찾지 못할 때, 발생하는 버그입니다. 저는 테스트코드 작성 중 경로를 잘못 지정했습니다. 엔티티 파일을 찾지 못했을 때 발생합니다. 위가 저한테 발생한 오류이고, 경로는 다음과 같이 설정해주었습니다. 파일 경로는 아래와 같았구요. ┖src ┠app ┖domain ┖equipment ┖entities ┖equipment.entity.ts 해결 방법 위와 같이 사용할 엔티티를 import 해주니 해결되었습니다. +추가 Entity 파일에 @Entity 데코레이터를 적용하지 않았을 때도 발생하니 반드시 확인해주시길 바랍니다. +) 추가 릴레이션 되어 있는 테이블도 import 해주셔야합니다..

[NestJS] Can't find module 'entity' from 'service.ts' 에러
Node.js2022. 8. 12. 00:15[NestJS] Can't find module 'entity' from 'service.ts' 에러

NestJS에서 엔티티 위치를 찾을 수 없다는 말입니다. 주로 entity를 찾을 수 없다고 나오지만 이는 "경로 지정이 잘못되었을 때" 나오는 에러입니다. 에러 발생 포인트: 레퍼지토리를 연결하여 CRUD 메소드를 만든 후(Entity 연동 후), Test를 돌려보니 에러가 남. 에러 원인: tsconfig.json과 pakage.json의 모듈 네임 매퍼가 같지 않음. tsconfig.json "jest": { "moduleDirectories": [ "node_modules", "src" ], "moduleFileExtensions": [ "js", "json", "ts" ], "roots": ["","src"], "testRegex": ".*\\.spec\\.ts$", "transform": { ..

반응형
image