javascript - 在 Jest 中测试 onbeforeunload
问题描述
所以基本上我有一个 onbeforeunload 函数,如果他们决定重新加载或关闭选项卡,我会小心并警告用户。我的代码如下
useEffect(() => {
//this will prevent users from accidently refreshing / closing tab
window.onbeforeunload = () => {
return "Are you sure you want to do this yada yada yada yada?";
};
}, []);
我试图开玩笑地测试它,但 return 语句从未执行过。我的测试如下
window.location.reload();
expect(window.onbeforeunload).toHaveBeenCalled();
即使我模拟 onBeforeunload 它也不起作用。任何帮助都将不胜感激。谢谢。
解决方案
您最好自己派发活动。
window.dispatchEvent(new Event("beforeunload"));
推荐阅读
- android - 在 android 库中使用协程会影响 Java 应用程序
- javascript - Firebase 允许通过 JS SDK 创建用户而无需经过身份验证
- nim-lang - 如何在 Nim 中划分 int64?
- node.js - Telegram Bot - 当我的机器人服务器关闭时,有没有办法丢弃传入的消息?
- javascript - HTML 检查用户在表单中输入的字母
- javascript - 空瓷砖的传单自定义图像
- arrays - 使用正则表达式拆分字符串以将子字符串存储在映射中的分隔符内以创建键值对
- c# - 如何验证文件的 AesManaged 加密
- ios - 无法在 KVO 中调用观察者
- php - 为什么找不到类