Angular配置Cypress和Jest后执行ng test报polyfills Schema校验错误求解
解决方案
错误根因:你当前使用的Angular 11版本配套的@angular-builders/jest构建器要求angular.json中test配置的polyfills字段必须为数组格式,而@briebug/jest-schematic自动生成配置时默认生成了字符串类型的polyfills值,因此触发校验报错。
具体修复步骤:
- 打开项目根目录下的
angular.json文件,依次定位到配置路径:projects > 你的项目名称(默认是package.json里的name,这里是betting-app) > architect > test - 找到
options节点下的polyfills配置,将原本的字符串格式:
替换为数组格式:"polyfills": "src/polyfills.ts""polyfills": ["src/polyfills.ts"] - 若修改后仍报错,说明你安装的
@angular-builders/jest最新版本和Angular 11不兼容,执行以下命令安装匹配版本:npm install @angular-builders/jest@11 @types/jest@26 jest@26 --save-dev - 清理npm缓存后重新执行测试即可:
ng test
可选验证项:确认test配置的builder字段已经正确替换为jest构建器,配置应为"builder": "@angular-builders/jest:test",而非Angular默认的@angular-devkit/build-angular:karma。
内容的提问来源于stack exchange,提问作者Alexander LeFevre
相关产品推荐
相关产品推荐

