Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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 Mat对话框单元测试:This.dialogref.updatesize不是一个函数_Angular_Typescript_Unit Testing_Mocking_Mat Dialog - Fatal编程技术网

Angular Mat对话框单元测试:This.dialogref.updatesize不是一个函数

Angular Mat对话框单元测试:This.dialogref.updatesize不是一个函数,angular,typescript,unit-testing,mocking,mat-dialog,Angular,Typescript,Unit Testing,Mocking,Mat Dialog,我是个新手。我试图为mat对话框编写一个单元测试,但它抛出了错误 ts文件中的我的方法: isMobileScreen= Observable<BreakpointState>= this.breakpointObserver.observe('(max-width:600px)'); OpenDialog(){ if(index===0){ this.dialogref=this.dialog.open(MyComonent,{

我是个新手。我试图为mat对话框编写一个单元测试,但它抛出了错误

ts文件中的我的方法:

isMobileScreen= Observable<BreakpointState>= this.breakpointObserver.observe('(max-width:600px)');
    
    OpenDialog(){
      if(index===0){
        this.dialogref=this.dialog.open(MyComonent,{
        maxWidth:'600px'
        });
    
        Const dialogSub= this.isMobileScreen.subscribe(result=> {
        if(result.matches){
         this.dialogref.updatesize('100%','100%');
        }
        else{
         this.dialogref.updatesize('50%');
        }
    });
    
    this.dialogref.afterclosed(). subscribe (results=>{
      dialogSub.unsubcribe():
    });
   }
我有两个错误

  • 无法读取未定义的属性“setvalue”
  • this.dialogref.updatesize不是函数
  • 也许是我写错了嘲弄。请帮助我解决此错误

    试试这个

        providers: [ { provide: MatDialog, useValue: dialogMock },
              {provide : MatDialogRef, useValue : dialogRefMock} 
        ]
    

    谢谢你的回复。我仍然收到错误“无法读取未定义的属性'setValue'。提供程序:[{provide:MatDialog,useValue:dialogMock},{provide:MatDialogRef,useValue:dialogRefMock},{provide:isMobileScreen,useClass:isMobileScreen}]这是我已经给出的。但我得到错误“无法读取未定义的属性'setvalue'。
        providers: [ { provide: MatDialog, useValue: dialogMock },
              {provide : MatDialogRef, useValue : dialogRefMock} 
        ]