测试角度coreModule,防止再次进入

问题描述 投票:0回答:1

我无法为在构造函数中定义了防护的核心模块编写测试。我的测试失败,要求将参数传递给构造函数。如果我将它传递给任何模块(AppModule),它将被视为重新导入。

我只想知道如何测试构造函数中包含以下代码段的模块。

在我的core.module.ts我有这个 -

 export class CoreModule {

  constructor(@Optional() @SkipSelf() parentModule: CoreModule) {
    if (parentModule) {
      throw new Error(
        'CoreModule is already loaded. Import it in the AppModule only');
    }
  }

  static forRoot(): ModuleWithProviders {
    return {
      ngModule: CoreModule,
      providers: [
        { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptorService, multi: true },
        { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptorService, multi: true }
      ]
    };
  }

}
angular jasmine
1个回答
0
投票

您是否尝试过TypeScript语法的可选参数?

constructor(parentModule?: CoreModule) {
    if (parentModule) {
      throw new Error(
        'CoreModule is already loaded. Import it in the AppModule only');
    }
  }

希望这可以帮助

© www.soinside.com 2019 - 2024. All rights reserved.