Jest ^29.2.1 运行单元测试出现ts-jest配置弃用警告求解决
解决ts-jest弃用警告的配置修改方案
针对你遇到的三个弃用警告,直接修改jest.config.ts即可解决,具体修改点如下:
移除
globals中的ts-jest配置块
原配置里globals.ts-jest的写法已被废弃,需要把这些配置移到transform规则的参数中。合并重复的transform规则
^.+\\.tsx?$正则已经能匹配.ts和.tsx文件,无需单独写.ts的规则,直接保留一条即可。修正
tsConfig为小写tsconfig
原配置里的tsConfig命名已被废弃,需改为小写的tsconfig。
修改后的完整配置:
const config = { roots: ['<rootDir>/src'], verbose: true, globalSetup: './globalSetup.ts', testEnvironmentOptions: { url: 'http://localhost/', }, setupFilesAfterEnv: [], moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx'], preset: 'ts-jest', transform: { '^.+\\.tsx?$': ['ts-jest', { babel: true, tsconfig: 'tsconfig.json' }], }, moduleNameMapper: { '^@/(.*)$': '<rootDir>/src/$1', }, testMatch: [ '<rootDir>/**/(*.)test.(js|jsx|ts|tsx)', '<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}', '<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}', ], } module.exports = config
每个修改对应的警告解决说明:
- 把
ts-jest配置从globals移到transform中:解决Define 'ts-jest' config under 'globals' is deprecated警告 - 将
tsConfig改为tsconfig:解决"[jest-config].globals.ts-jest.tsConfig" is deprecated警告 - 调整后的配置符合ts-jest最新规范:解决
Your Jest configuration is outdated警告
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

