afterClose订阅不在mat对话框测试中工作

时间:2018-01-10 22:03:42

标签: angular typescript angular-material

我正在尝试编写一个涉及知道何时关闭的测试。在我的组件类中,我正在做这个

dialogRef.afterClosed().subscribe((data) => {
   // do something with data
});

一旦对话框关闭,就会发生这种观察。但是当我在我的测试文件中进行测试时,它永远不会被调用。

这是我的测试中的内容

const dialogRef = dialog.open(CustomDialogComponent, {
  data: {
    title: 'Remove File',
    message: 'Are you sure you want to remove the file?',
  }
});

fixture.detectChanges();

dialogRef.close();

fixture.detectChanges();

dialogRef.afterClosed().subscribe(() => {
  console.log('DIALOG HAS CLOSED');
});

我从dialog

获得了beforeEach()
  beforeEach(inject([MatDialog],
    (d: MatDialog) => {
      dialog = d;
    }));

如果有人能提供帮助,那就太棒了。我已经被困在这一段很长一段时间了,而且似乎无处可去。

0 个答案:

没有答案