Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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
Javascript 如何测试“角度材质”对话框?_Javascript_Angular_Typescript_Angular Material - Fatal编程技术网

Javascript 如何测试“角度材质”对话框?

Javascript 如何测试“角度材质”对话框?,javascript,angular,typescript,angular-material,Javascript,Angular,Typescript,Angular Material,我有一个自定义对话框组件类,我正在尝试测试它。特别是我的关闭函数,就是这个 close(): void { this.dialogRef.close(); } dialogRef被注入到该类构造函数中,如下所示 constructor(public dialogRef: MatDialogRef<CustomDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {

我有一个自定义对话框组件类,我正在尝试测试它。特别是我的关闭函数,就是这个

  close(): void {
    this.dialogRef.close();
  }
dialogRef
被注入到该类构造函数中,如下所示

 constructor(public dialogRef: MatDialogRef<CustomDialogComponent>,
              @Inject(MAT_DIALOG_DATA) public data: any) {
  }
构造函数(public dialogRef:MatDialogRef,
@注入(MAT_对话框_数据)公共数据:任意){
}
所以我的问题是,我如何在我的spec测试文件中模拟dialogRef并测试它的close函数


我的项目是使用角度5和角度材料5

您不需要测试它,因为您正在使用的库应该已经测试了它自己的组件(情况并非总是这样)

但是,如果您需要使用close dialog引用的特定测试,请查看他们在此组件上的测试,这将有助于您编写您的测试:


假设您询问的是关于测试使用dialog而不是dialog本身的组件的问题,在您的测试用例中,添加

providers: [
     { provide: MAT_DIALOG_DATA, useValue: {} },
     { provide: MatDialogRef, useValue: {} }
 ]

这应该提供必要的依赖关系。

flush是所有要执行的可观察对象的答案,谢谢!无需模拟这些提供者,正确的方法如上面的angular source所示