Jest + Typescript 빼기 TS-Jest

ts-jesttypescript + jest의 인기 있는 패키지입니다.

하지만 최근 저를 괴롭히는 한 가지 문제는 발견되지 않은 라인 통계가 정확하지 않다는 것입니다. 테스트 범위가 10% 이상 떨어졌습니다.

인터넷 검색 후 사람들도 같은 문제를 겪고 있는 것처럼 보이지만 여전히 유용한 정보가 나오지 않고 해결책이 없습니다.

몇 가지 문제 해결을 통해 문제의 원인이 ts-jest임을 알게 되었습니다.

그래서 대신 컴파일을 위해 babel을 사용하기로 결정했습니다.

종속성 설치

npm i -D @babel/preset-env @babel/preset-typescript typescript jest


설정 npm 스크립트

"scripts": {
  "test": "jest",
}


생성jest.config.js
/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */

module.exports = {
    testEnvironment: 'node',
    roots: ['<rootDir>/src'],
    testMatch: ['**/__tests__/**/*.+(ts|js)', '**/?(*.)+(spec|test).+(ts|js)'],
    transform: {
        '^.+\\.(js|ts)$': 'babel-jest',
    },
    moduleDirectories: ['node_modules', 'src'],
    collectCoverage: true,
    collectCoverageFrom: ['**/*.{js,ts}', '!**/*.d.ts'],
}



생성babel.config.js
module.exports = {
    presets: [
        '@babel/preset-typescript',
        [
            '@babel/preset-env',
            {
                targets: {
                    node: 'current',
                },
            },
        ],
    ],
}


babel-jest를 설치할 필요가 없습니다. jest와 함께 제공됩니다.

마침내npm test 붐, 100% 테스트 범위가 돌아왔습니다.

좋은 웹페이지 즐겨찾기