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

客户端/服务端同仓项目运行TypeScript测试时Jest报错求助

解决方案

修正后jest.config.js配置

module.exports = {
  roots: ["<rootDir>/server"],
  preset: "ts-jest",
  testEnvironment: "node", // 核心修复项:服务端测试改用Node.js原生环境
  testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$', // 匹配.ts/.tsx后缀的测试用例
  transform: {
    "^.+\\.(ts|tsx)$": "ts-jest",
  }
};

操作步骤

  • 替换根目录下的jest.config.js为上述配置,删除原有testMatch: null和testRegex: []的无效配置,这两项配置会导致Jest无法正常识别测试文件。你当前的调试输出显示测试环境默认加载了jsdom,这是为前端浏览器场景设计的模拟环境,和服务端Node.js环境不兼容,是触发HasteMap构造报错的核心原因。
  • 清理Jest缓存,执行命令npx jest --clearCache,避免旧的缓存配置影响执行。
  • 如果修改配置后仍然报错,删除项目根目录的node_modules、package-lock.json(或yarn.lock),重新执行npm install(或yarn install)安装依赖,排除CRA客户端自带的Jest依赖和根目录安装的Jest 26.x版本产生的冲突。
  • 可选优化:如果后续需要同时运行前后端测试,建议采用Jest多项目配置,根目录jest.config.js指定projects分别指向client和server目录的独立Jest配置,避免两端配置互相干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 16:54:04