You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular项目运行Jest测试时遇TypeError: configSet.processWithEsbuild is not a function

解决Angular 17 + Jest 29测试时TypeError: configSet.processWithEsbuild is not a function错误

错误原因

该错误源于两个核心问题:

  • jest-preset-angular版本与Angular 17、Jest 29不兼容,未提供适配Esbuild的转换逻辑
  • 自定义的transform配置(使用ts-jest)与jest-preset-angular内置的转换器冲突,覆盖了Esbuild相关处理逻辑

解决步骤

1. 安装适配版本的jest-preset-angular

Angular 17需要搭配jest-preset-angular v14.x版本(完全兼容Jest 29),执行以下命令安装:

npm install jest-preset-angular@14.1.1 --save-dev
# yarn用户执行:yarn add jest-preset-angular@14.1.1 --dev

2. 修正jest.config.js配置

移除自定义的transform字段——jest-preset-angular的预设已经内置了适配Angular 17和Esbuild的转换规则,无需额外指定ts-jest。修改后的配置如下:

module.exports = {
  preset: 'jest-preset-angular',
  setupFilesAfterEnv: ['<rootDir>/src/setup.jest.ts'],
  testEnvironment: 'jsdom',
  moduleFileExtensions: ['ts', 'html', 'js', 'json'],
  moduleNameMapper: {
    '@app/(.*)': '<rootDir>/src/app/$1',
    '@env/(.*)': '<rootDir>/src/environments/$1'
  }
};

3. 重置依赖(可选)

为确保依赖版本完全一致,可清理现有依赖后重新安装:

rm -rf node_modules package-lock.json
npm install

4. 验证修复

运行测试命令确认错误解决:

npm run test

内容的提问来源于stack exchange,提问作者Baisakhi Panda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 01:20:11