我有一个自定义对话框组件类,我正在尝试测试。特别是我的关闭功能就是这个
close(): void {
this.dialogRef.close();
}
dialogRef
被注入该类构造函数中,如下所示
constructor(public dialogRef: MatDialogRef<CustomDialogComponent>,
@Inject(MAT_DIALOG_DATA) public data: any) {
}
所以我的问题是,如何在我的规范测试文件中模拟dialogRef
并测试其关闭函数?
我的项目是使用角度5和角度材质5.
答案 0 :(得分:6)
假设您要求测试使用对话框而不是对话框本身的组件,请在测试用例中添加
providers: [
{ provide: MAT_DIALOG_DATA, useValue: {} },
{ provide: MatDialogRef, useValue: {} }
]
这应该提供必要的依赖。
答案 1 :(得分:0)
您不应该对此进行测试,因为您使用的库应该已经测试了自己的组件(情况并非总是这样)。
但是如果你需要一个使用close对话框参考的特定测试,看看他们对这个组件的测试应该可以帮助你编写你的测试: