jest e2e '상대 경로', '절대 경로'

이건선·2023년 5월 21일
0

해결

목록 보기
39/48
post-custom-banner

문제점 : 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';

상대 경로와 절대 경로

  1. 상대 경로

    상대 경로는 현재 파일의 위치에 기반하여 다른 파일을 찾는다. '..'는 현재 디렉토리의 부모 디렉토리를 의미하므로, ../entities/Prefers.entity는 "현재 디렉토리의 부모 디렉토리에서 'entities' 디렉토리로 이동하고, 그 안에 있는 'Prefers.entity' 파일을 찾아라"라는 의미가 되는 것.

  1. 절대 경로

    절대 경로는 프로젝트의 루트 디렉토리를 기반으로 파일을 찾는다.

profile
멋지게 기록하자
post-custom-banner

0개의 댓글