开玩笑:测试window.location.reload

吉米:

如何编写测试以确保该方法reloadFn确实重新加载了窗口?我找到了这个资源,但不清楚在给定函数中发生窗口重载时编写测试时如何期望窗口重载。谢谢您的帮助!

const reloadFn = () => {
  window.location.reload(true);
}
穆尔塔扎·侯赛因:

这是解决方案,但为了更好的组织而进行了重构:

describe('test window location\'s reload function', () => {
  const { reload } = window.location;

  beforeAll(() => {
    Object.defineProperty(window.location, 'reload', {
      configurable: true,
    });
    window.location.reload = jest.fn();
  });

  afterAll(() => {
    window.location.reload = reload;
  });

  it('mocks reload function', () => {
    expect(jest.isMockFunction(window.location.reload)).toBe(true);
  });

  it('calls reload function', () => {
    reloadFn(); // as defined above..
    expect(window.location.reload).toHaveBeenCalled();
  });
});

谢谢 :)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

清除缓存的window.location.reload

window.location.reload(); 陷入无限循环

window.location.href = window.location.href和window.location.reload()之间的区别

如何在角度单元测试中跳过window.location.reload

使用 window.location.reload 更改当前窗口

window.location.reload()从何处获取其值?

window.location.reload不考虑哈希,即

window.location.reload(); 除非加上警报,否则失败

window.location.reload(true)无法正确重新加载页面

在React中使用window.location.reload是否正确?

angularjs中的$ window.location.reload()和$ route.reload()之间的区别

使用location.href或window.location.reload(true)重新加载页面

开玩笑:window.location.assign模拟函数未调用..它与Promise catch()有关吗?

$ window.location.reload(true)是否等于CTRL + F5?

想使用 location.reload() 重新加载我的页面;在 window.open() 完成执行后

window.location.reload(true)重新加载页面,但页面需要刷新以显示更改

未被捕获的TypeError:无法读取未定义/ window.location.reload()的属性“ id”

Knockout.js:带有window.location.reload()的observable.subscribe导致无限重载循环

“ window.location.reload”不会在Chrome中重新加载页面

使用window.location.href或.assign或.reload时等待时间长

避免使用第三方脚本的window.location.reload()

为什么触发window.location.reload时会清除其余功能代码?

window.location.reload 在各种设备和浏览器上随机工作

ReactJS 使用 window.location.reload() 在每次页面访问时启动一次 useEffect

移动JS应用上的Location.reload()

在 location.reload 之前执行警报

奇怪的JQuery location.reload()行为?

如何开玩笑地测试

开玩笑:测试嵌套承诺