我无法为在构造函数中定义了防护的核心模块编写测试。我的测试失败,要求将参数传递给构造函数。如果我将其传递给任何模块(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 }
]
};
}
}
答案 0 :(得分:0)
嗨,您是否尝试过将TypeScript语法用于可选参数?
constructor(parentModule?: CoreModule) {
if (parentModule) {
throw new Error(
'CoreModule is already loaded. Import it in the AppModule only');
}
}
希望这会有所帮助