Angular单元测试运行ng test报错:export 'default' (__NG_CLI_RESOURCE__1)未找到
Angular
ng test/npm test执行报错排查方案 - 优先检查测试专属TS配置
多数Angular项目会单独使用tsconfig.spec.json作为单元测试的编译规则,你当前仅核对了根目录tsconfig.json,需确认tsconfig.spec.json的compilerOptions下target、module配置是否和主配置一致,同时检查types配置项是否正确引入了jasmine、node等测试相关的类型定义,缺失类型定义会触发编译报错。 - 校验测试依赖版本兼容性
确认@angular-devkit/build-angular、jasmine-core、karma等测试依赖的版本是否和你当前使用的Angular主版本匹配,版本不兼容是ES模块解析异常的高频诱因。可执行以下命令重装依赖排除缓存问题:rm -rf node_modules package-lock.json && npm install - 临时调整模块配置验证问题
低于14的Angular版本对ES2020模块的测试环境支持存在已知缺陷,可尝试将tsconfig.spec.json中的module配置修改为commonjs验证是否能正常运行测试:"compilerOptions": { "target": "es2017", "module": "commonjs" } - 核对Karma配置正确性
打开项目根目录的karma.conf.js,确认browsers字段配置的浏览器已正常安装,文件匹配规则没有遗漏测试文件、也没有引入不存在的依赖资源。 - 单文件测试缩小问题范围
执行指定单测试文件运行的命令,判断是全局配置问题还是单个测试文件的代码问题:
若单文件可正常运行,逐一排查所有测试文件的语法错误、依赖导入错误即可。ng test --include src/app/[对应测试文件路径].spec.ts
内容的提问来源于stack exchange,提问作者sharpshooter
相关产品推荐
相关产品推荐

