javascript - 如何测试 Angular Material 对话框?

标签 javascript angular typescript angular-material

我有一个我正在尝试测试的自定义对话框组件类。特别是我的关闭功能是这个

  close(): void {
    this.dialogRef.close();
  }

dialogRef 被注入(inject)到类构造函数中,如下所示

 constructor(public dialogRef: MatDialogRef<CustomDialogComponent>,
              @Inject(MAT_DIALOG_DATA) public data: any) {
  }

所以我的问题是,如何在我的规范测试文件中模拟 dialogRef 并测试其关闭功能?

我的项目使用 Angular 5 和 Angular Material 5。

最佳答案

假设您要询问使用对话框而不是对话框本身的测试组件,在您的测试用例中,添加

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

那应该提供必要的依赖。

关于javascript - 如何测试 Angular Material 对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48156316/

相关文章:

Javascript:在递归函数中初始化一次变量(如静态变量)

javascript - 日期范围过滤器jquery

json - 如何从 package.json 加载 Angular (v4+)应用程序中的版本号?

Typescript addEventListener 设置事件类型

typescript - 使用枚举上的自定义错误消息处理 Zod 错误

angular - 如何为 Angular 响应式(Reactive)表单验证设置最小值和最大值?

javascript - 如何删除标记 googlemap $.getjson

javascript - Javascript canvas lineTo,要在一定距离后停止

angular - 在子目录中运行 Angular2

android - 检测到 Ionic 3 Android Studio