문제점 : e2e테스트 코드를 테스트 하는 중 아래의 오류가 발생했다.
FAIL test/app.e2e-spec.ts
● Test suite failed to run
Cannot find module 'src/entities/Prefers.entity' from '../src/prefer/prefer.module.ts'
Require stack:
C:/Users/zkvpt/sparta_node/realproj/nestmigate/refNest/newJeans/src/prefer/prefer.module.ts
C:/Users/zkvpt/sparta_node/realproj/nestmigate/refNest/newJeans/src/app.module.ts
app.e2e-spec.ts
3 | import { PreferService } from './prefer.service';
4 | import { TypeOrmModule } from '@nestjs/typeorm';
> 5 | import { Prefers } from 'src/entities/Prefers.entity';
| ^
6 | import { CardPosts } from 'src/entities/CardPosts.entity';
7 |
8 | @Module({
해결 : 절대경로로 import 되어있어서 문제가 발생한 것이었다. 일반적으로 다른 하위 디렉토리를 기준으로 절대경로를 사용하는 것은 허용되지 않는다고한다.
// 절대 경로여서 오류가 발생함
import { Prefers } from 'src/entities/Prefers.entity';
// 상대 경로로 변경하고 해결
import { Prefers } from '../entities/Prefers.entity';
상대 경로
상대 경로는 현재 파일의 위치에 기반하여 다른 파일을 찾는다. '..'는 현재 디렉토리의 부모 디렉토리를 의미하므로, ../entities/Prefers.entity는 "현재 디렉토리의 부모 디렉토리에서 'entities' 디렉토리로 이동하고, 그 안에 있는 'Prefers.entity' 파일을 찾아라"라는 의미가 되는 것.
절대 경로
절대 경로는 프로젝트의 루트 디렉토리를 기반으로 파일을 찾는다.