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

Angular 9项目运行Jest测试报错:找不到InlineHtmlStripStylesTransformer.js

问题根因

你遇到的报错核心是Jest生态依赖和Angular 9版本不匹配:

  • @angular-builders/jest 大版本需要和Angular大版本一致,你使用的v8.x和Angular 9不兼容
  • jest-preset-angular 8.x仅支持jest 25.x版本,你使用的jest 26版本超出适配范围
  • 版本不兼容导致预设内置的转换器路径识别错误,即便手动配置转换器路径也无法生效

可选用的解决方案

方案1:继续使用Jest

按如下步骤调整即可正常运行:

  1. 卸载现有不兼容的Jest相关依赖
yarn remove jest jest-preset-angular @angular-builders/jest
  1. 安装和Angular 9匹配的版本
yarn add -D jest@25.5.4 jest-preset-angular@8.4.0 @angular-builders/jest@9.0.1 ts-jest@25.5.1
  1. 还原jest.config.js配置,删除所有手动添加的astTransformers相关配置,jest-preset-angular 8.x版本的预设已经内置了对应的HTML、样式转换器,不需要额外配置
  2. 清理Jest缓存后启动测试
yarn test --clearCache && yarn test

方案2:使用Angular默认测试工具

你当前切换到Karma+Jasmine的方案是合理的,Angular 9默认自带这套测试运行器的完整配置,不需要额外做版本适配,开箱即可运行组件、服务的单元测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:21:02