체인의정석

Jest + TypeScript 절대 경로 설정 하는 법 본문

개발

Jest + TypeScript 절대 경로 설정 하는 법

체인의정석 2021. 7. 6. 18:54
728x90
반응형

TypeScript 모듈을 만든 후

jest로 테스트 코드를 작성할때 계속해서 에러가 발생.

module의 위치를 알 수 없는 에러가 발생.

https://kulshekhar.github.io/ts-jest/docs/getting-started/paths-mapping/

 

Paths mapping | ts-jest

If you use "baseUrl" and "paths" options in your tsconfig file, you should make sure the "moduleNameMapper" option in your Jest config is setup accordingly.

kulshekhar.github.io

다음과 같이 jest.confi.js에서 moudule name Mapper를 사용해여야지만 절대 경로를 jest에서 읽어와서 테스트 할 수 있다.

또한 jest 와 ts-jest의 버전이 맞지 않을 경우에도 에러가 났었다. 에러가 있는 버전에서 업데이트를 통해 해결하고 config에서 설정을 해주어서 해결을 할 수 있었다.

 

jest.config.js

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
  moduleNameMapper: {
    '^@lib/(.*)$': '<rootDir>/lib/$1',
},

};

 

tsconfig.ts

{
  "compilerOptions": {
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es2017",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "paths" : {
      "@lib/*": ["./lib/*"],
      "@test/*": ["./test/*"]
  }
  },
  "include": ["lib", "test", "test/**/**.ts"],
  "exclude": ["node_modules", "dist"]
}

 

728x90
반응형
Comments