테스트를 가속화하기 위해 NestJS에서 swc/Jest 가져오기
swc 사용
이쪽의 스크랩을 참고했습니다.
@swc/core 및 @swc/jest를 설치합니다.
.swcrc
창고 경로에 파일을 만들고 다음 내용을 기록합니다..swcrc
{
"jsc": {
"parser": {
"syntax": "typescript",
"tsx": false,
"decorators": true,
"dynamicImport": false
},
// ターゲットは好きなやつを。ただドキュメントには
// Disable es3 / es5 / es2015 transforms と書いてあるので
// es2015以下は利用できない???
"target": "es2020",
"keepClassNames": true,
"transform": {
"legacyDecorator": true,
"decoratorMetadata": true
},
// パスエイリアスを利用しているなら以下2項目を編集する。利用してなければ削除。
// "baseUrl": "./",
// "paths": {
// "@/*": ["./src/*"]
// }
},
"module": {
"type": "commonjs",
"noInterop": false
},
"sourceMaps": true,
}
다시 쓰다jest.config.js
.jest.config.js
const config = {
moduleFileExtensions: ['js', 'json', 'ts'],
rootDir: './',
modulePaths: ['<rootDir>'],
testRegex: (/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$,
// グローバルセットアップとティアダウンがあれば以下を編集する。
// globalTeardown: '<rootDir>/src/share/teardownJest.ts',
// globalSetup: '<rootDir>/src/share/setupJest.ts',
transform: {
'^.+\\.(t|j)s$': ['@swc/jest'],
// デフォルトだとts-jest使っている。
// '^.+\\.(t|j)s$': 'ts-jest',
},
collectCoverageFrom: ['src/**/*.(t|j)s', '!src/**/*.d.ts'],
coverageDirectory: './coverage',
testEnvironment: 'node',
// path alias の設定。tsconfigに設定してあるがjest runner上ではそちらは有効にならない。もしパスエイリアスを利用しているならここにも書く。
// moduleNameMapper: {
// '^@/(.*)$': '<rootDir>/src/$1',
//},
};
module.exports = config;
주의점baseUrl
와 paths
를 기입한다.만약 사용하지 않았다면 이것은 쓰지 않아도 된다.쓰지 않으면 제스트의 덮어쓰기가 움직이지 않습니다.
Reference
이 문제에 관하여(테스트를 가속화하기 위해 NestJS에서 swc/Jest 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/dove/articles/258a50bb046c6d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)