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

Angular 10.2升级至11后运行ng test报错:Cannot read properties of undefined (reading 'Workspace')

Angular 10.2升级至11后ng test报错:Cannot read properties of undefined (reading 'Workspace')

问题描述

将Angular从10.2版本升级到11版本后,执行ng test命令时触发未处理异常:Cannot read properties of undefined (reading 'Workspace'),错误截图如下:
ng test报错截图

已尝试相关方案但未解决,以下是针对性的排查和解决步骤:


解决步骤

  • 对齐Angular核心依赖版本
    确保所有Angular核心包和CLI版本统一为11.x稳定版(推荐11.2.14),执行命令:

    npm install @angular/{cli,core,common,compiler,compiler-cli,forms,platform-browser,platform-browser-dynamic,router,animations}@11.2.14 --save-exact
    
  • 同步构建工具依赖版本
    确保@angular-devkit/build-angular版本与CLI一致,执行:

    npm install @angular-devkit/build-angular@11.2.14 --save-dev
    
  • 更新测试工具依赖
    Angular 11对测试工具版本有特定要求,执行命令更新适配版本:

    npm install karma@~6.1 karma-chrome-launcher@~3.1 jasmine-core@~3.6 @types/jasmine@~3.6 --save-dev
    
  • 清理缓存并重装依赖

    1. 删除项目根目录下的node_modules文件夹和package-lock.json文件
    2. 执行npm install重新安装依赖
    3. 清理Angular CLI缓存:ng cache clean
  • 检查angular.json配置

    1. 确认test配置块中的builder字段为@angular-devkit/build-angular:karma,避免使用过时的自定义构建器
    2. 移除配置中所有引用Workspace的废弃字段或配置项
  • 排查第三方插件冲突

    1. 暂时禁用项目中的第三方测试相关插件(如自定义覆盖率插件、karma扩展等)
    2. 逐个恢复插件并执行ng test,定位导致冲突的插件后升级至支持Angular 11的版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 23:58:18