【发布时间】:2020-06-19 12:38:17
【问题描述】:
我在一个 Angular 8 项目中工作。
如果用户试图离开网站,我想让窗口发出确认提示,我可以通过将此功能添加到我的组件来做到这一点。
@HostListener("window:beforeunload", ["$event"])
unloadNotification($event: any) {
if (this.confirmNavigation) {
$event.returnValue = true;
}
}
现在我正试图弄清楚如何对此进行单元测试,但我不知道该怎么做。我需要模拟窗口才能触发事件吗?我会制作某种事件对象并直接用它调用unloadNotification(虽然不知道如何验证它的结果)?
我什至确定在单元测试中是否需要这样做,它更像是一个集成测试吗?
我还需要确保当我在 karma 中运行测试时实际上并未触发此提示(因为它会停止测试)。所以我需要嘲笑它吗?
另外,我想我想在 afterEach 测试中销毁这个监听器,但不知道怎么做。
任何帮助将不胜感激,谢谢。
【问题讨论】:
标签: angular unit-testing testing window onbeforeunload