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所示