angular - 使用 Jest 和 Spectator 全局导入模块
问题描述
在我的 Angular 项目中,我删除了 Karma 以便将 Jest.js 与 Spectator 一起使用。它运行良好,但现在,由于与翻译相关的模块有点冗长,我正在尝试将其全局导入。我在 Spectator 的文档中读到这可以在 test.js 中完成,但除非我弄错了,否则该文件由 Karma 使用,而不是由 Jest.js 使用。所以我想知道是否可以使用 Jest/Spectator 进行全局注入,谢谢!
解决方案
对于那些使用 Jest 的人,全局注入应该设置在setupJest.ts
例子:
import 'jest-preset-angular/setup-jest';
import { defineGlobalsInjections } from '@ngneat/spectator';
import { HttpClient, HttpClientModule } from '@angular/common/http';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
defineGlobalsInjections({
imports: [
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
})
]
});
推荐阅读
- python - 两个图像的 OpenCV 'BackgroundSubtractorMOG2'
- xmpp - XMPP MIX 可以端到端加密吗?
- python - 如何删除每列中的重复字符?
- database - 微服务架构——全球数据共享
- python - PyQt 防止 QInputDialog 在 ESC/Enter 交叉单击时关闭
- java - 如何在测试期间修改静态私有字段?
- wear-os - 尝试通过 Wear OS 独立应用向 API 后端发送 HTTP 请求
- cakephp-2.0 - cakephp 2.2.2 版中的持久 Flash 消息
- python - 图像中的 Concat 轮廓
- python - 在元类中“解包”并再次包装@staticmethod