Test

TypeScript + Mocha

kimddakki 2022. 8. 20. 22:37
tsconfilg.json
{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    // TSC가 코드 실행 환경에서 이용할 수 있다고 가정하는 API
    //Function.prototype.bind, ES2015의 Object.assign, DOM의 document.querySelector 등
    "lib": ["ES2020"],
    // TSC가 코드를 컴파일할 대상 모듈 시스템
    "module": "commonjs",
    // 생성된 자바 스크립트 코드를 출력할 디렉터리
    "outDir": "dist",
    "sourceMap": true,
    // 유효하지 않는 코드를 확인할 때 가능한 한 엄격하게 검사
    // 이 옵션을 이용하면 코드가 적절하게 타입을 갖추도록 강제할 수 있다.
    "strict": true,
    // TSC가 코드를 컴파일할 자바스크립트 버전
    "target": "es2015",
    "esModuleInterop": true,
    "strictPropertyInitialization": false /* Enable strict checking of property initialization in classes. */,
    "noImplicitAny": false
  },
  // TSC가 타입스크립트 파일을 찾을 디렉터리
  "include": ["src/**/*"],
  "exclude": ["node_modules", "**/*.spec.ts"]
}

 

모카
yarn add mocha @types/mocha --dev
yarn add chai @types/chai --dev
yarn add ts-node --dev

 - 타입스크립트는 컴파일이 되어야 실행이 가능하다. 하지만 테스트 할 때마다 컴파일 하기 힘들기에 

   메모리 상에서 타입스크립트를 트랜스 파일링하여 실행할 수 있게 해주자

  => ts-node 설치 후 test에 require 옵션을 추가하자.

"script": {
    "test": "yarn mocha test/**/*.ts -r ts-node/register",
}

 

 

타입스크립트와 모카 사용하기

타입스크립트와 모카를 함께 사용하는 방법에 대해 정리한다.

dc7303.github.io