[英]How do you force a mat-dialog to close in an Angular test?
場景:
this.dialog.open(otherComponent)
。 dialog.close(), dialog.closeAll(),
嘗試創建一個模擬對話框並關閉該對話框,但似乎沒有任何效果,因為受測試的原始組件不會關閉該對話框。 我該如何解決?
如果需要,這是我創建的用於創建對話框服務的新模擬的函數:
matDialogMock(): SpyObj<MatDialog> {
return createSpyObj<MatDialog>('MatDialog', {
open: {
afterOpened: () => of(undefined),
afterClosed: () => of(undefined),
} as any
});
}
通過致電
const mock = matDialogMock();
您可以創建該模擬的新實例,並將其注入測試中。
{provide: MatDialog, useValue: {}}
我以這種方式嘲笑了MatDialogRef,但沒有嘲笑MatDialog。 感謝@trichetriche指出這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.