Angular集成@angular/localize后单元测试持续报错的问题求助
Angular集成@angular/localize后单元测试持续报错的问题求助
各位大佬好,我最近碰到一个棘手的问题,想请大家帮忙看看:
我原本有一大堆运行正常的单元测试,结果在安装@angular/localize并给HTML标签添加i18n属性之后,所有测试直接全部失败,抛出的错误信息如下:
It looks like your application or one of its dependencies is using i18n.
Angular 9 introduced a global
$localize()function that needs to be loaded.Please run
ng add @angular/localizefrom the Angular CLI.(For non-CLI projects, add
import '@angular/localize/init';to yourpolyfills.tsfile.For server-side rendering applications add the import to your
main.server.tsfile.)
我按照提示操作了,但测试还是失败,下面是我试过的所有方法:
- 执行
npm install @angular/localize和npx nx g @angular/localize:ng-add --project=<project name>(我的项目用的是NX) - 在
polyfills.ts中添加import '@angular/localize/init'; - 在
polyfills.ts中尝试添加import '../../../node_modules/@angular/localize/init'; - 在
main.ts中同时添加了上面提到的两个import语句 - 在
main.ts中添加/// <reference types="@angular/localize" /> - 在
polyfills.ts、main.ts以及.spec文件中添加了以下代码:import { TextEncoder } from 'util'; global.TextEncoder = TextEncoder;
可惜这些方法都没能解决问题。
下面是我当前的依赖版本信息:
| Package | Version |
|---|---|
| Angular | 16.2.8 |
| @angular-devkit/architect | 0.1602.5 |
| @angular-devkit/build-angular | 16.2.5 |
| @angular-devkit/core | 16.2.5 |
| @angular-devkit/schematics | 16.2.5 |
| @angular/cdk | 16.2.7 |
| @angular/cli | 16.2.5 |
| @angular/fire | 7.6.1 |
| @angular/material | 16.2.7 |
| @schematics/angular | 16.2.5 |
| rxjs | 7.8.1 |
| typescript | 5.1.6 |
| zone.js | 0.13.3 |
另外Angular的核心依赖(animations、common、compiler等)都是16.2.8版本。
希望有遇到过类似问题的大佬能给点建议,万分感谢!
备注:内容来源于stack exchange,提问作者Tuma
相关产品推荐
相关产品推荐

