在我的Angular项目中,我已经删除了Karma,以便在旁观者中使用Jest.js。它工作得很好,但是现在,由于与翻译相关的模块有点冗长,我试图全局导入它。我在旁观者的文档中读到这可以在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]
}
})
]
});