Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular material 未找到LoaderDialog的组件工厂_Angular Material_Angular Unit Test - Fatal编程技术网

Angular material 未找到LoaderDialog的组件工厂

Angular material 未找到LoaderDialog的组件工厂,angular-material,angular-unit-test,Angular Material,Angular Unit Test,**testservice.ts** 从“/loader.component”导入{LoaderDialog}; 从“@angular/material/dialog”导入{MatDialog}; 导出类测试服务{ 构造函数(公共对话框:MatDialog){} dialogRef:任何; show(){ this.dialogRef=this.dialog.open(LoaderDialog{ disableClose:对, panelClass:“透明背景” }); } **testcom

**testservice.ts**

从“/loader.component”导入{LoaderDialog};
从“@angular/material/dialog”导入{MatDialog};
导出类测试服务{
构造函数(公共对话框:MatDialog){}
dialogRef:任何;
show(){
this.dialogRef=this.dialog.open(LoaderDialog{
disableClose:对,
panelClass:“透明背景”
});
}
**testcomponent.ts**

构造函数(私有apiServ:apiservice,私有对话框:MatDialog,私有加载程序:TestService){
this.loader.show();
}
当我为
testcomponent
运行测试用例时,我得到了以下信息

错误:“未找到LoaderDialog的组件工厂”


我已经找到了这个问题的解决方案。我们需要在测试规范文件的每个函数之前添加'overrideModule'和2个参数,并将组件添加到声明部分

beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [ DataCenterComponent, **LoaderDialog**]
    })
    **.overrideModule(BrowserDynamicTestingModule, { set: { entryComponents: [LoaderDialog] } })**
  }));