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

Angular执行测试报错Expected to be running in ProxyZone问题求助

你遇到的Expected to be running in 'ProxyZone', but it was not found报错本质是Angular测试逻辑调用时,zone.js的测试环境Zone未完成正确注册,可按以下步骤逐一排查解决:

排查步骤
  • 检查测试入口导入顺序
    默认测试入口为src/test.ts,必须保证zone.js/testing的导入在所有@angular/core/testing等Angular测试相关导入之前,顺序错误会直接导致ProxyZone注册失败。正确导入示例:
// 优先导入zone相关依赖
import 'zone.js';
import 'zone.js/testing';
// 后续再导入Angular测试工具
import { getTestBed } from '@angular/core/testing';
import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
  • 修正zone.js导入路径
    zone.js 0.11.x版本已经废弃了zone.js/dist/zone-testing这类带完整dist路径的导入写法,统一改为直接导入zone.js/testing即可,避免加载到冗余旧文件。

  • 校验版本兼容性
    zone.js 0.11.4仅兼容Angular 12.x ~ 13.x版本:

    • 若当前Angular版本高于13,需将zone.js升级到0.13.x及以上匹配版本
    • 若当前Angular版本低于12,需将zone.js降级到0.10.x匹配版本
  • 清理重复导入
    不要在polyfills.ts、angular.json的test配置的scripts字段中重复引入zone.js相关依赖,仅保留test.ts中的导入即可。

  • 清除依赖缓存
    如果上述操作后仍报错,删除本地node_modules目录、package-lock.json/yarn.lock文件后重新执行npm install/yarn install,清除缓存的版本冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:39:04