【问题标题】:Global import of modules with Jest and Spectator使用 Jest 和 Spectator 全局导入模块
【发布时间】:2021-11-16 15:42:49
【问题描述】:

在我的 Angular 项目中,我删除了 Karma 以便将 Jest.js 与 Spectator 一起使用。它运作良好,但现在,由于与翻译相关的模块有点冗长,我正在尝试将它全局导入。我在 Spectator 的 documentation 中读到这可以在 test.js 中完成,但除非我弄错了,否则该文件由 Karma 使用,而不是由 Jest.js 使用。所以我想知道是否可以使用 Jest/Spectator 进行全局注入,谢谢!

【问题讨论】:

    标签: angular dependency-injection jestjs angular-spectator spectator


    【解决方案1】:

    对于那些使用 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]
                }
            })
        ]
    });
    
    

    【讨论】:

      猜你喜欢
      • 2017-12-02
      • 2020-04-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-27
      • 2021-02-26
      • 2014-02-18
      • 2021-01-21
      相关资源
      最近更新 更多