【问题标题】:global.location not working in Jest testsglobal.location 在 Jest 测试中不起作用
【发布时间】:2015-11-24 21:23:44
【问题描述】:

我有一个使用 Jest 测试的 Webpack 构建的应用程序。最近我将 Jest 更新到了 0.8.0 版,将 Node 更新到了 5 版。

我对从global.location 读取的几个组件进行了测试。以前,我会像这样自己设置 global.location:

global.location = {
  hash: '#hash'
};

这在升级之前工作正常;现在没有使用全局工作的组件,当我打印 global.location 时,我得到:

Location {}

似乎现在有一些外部库试图模拟窗口的位置对象......有什么想法可以解决这个问题吗?

【问题讨论】:

    标签: reactjs jsdom jestjs


    【解决方案1】:

    好的,我在写问题的时候就想到了这个:^P

    问题似乎在于 Jest 使用的 jsdom 在更新的版本中试图模拟位置对象。源代码表明实现仍然有点半生不熟,但我能够解决我的特定问题:

    global.location.replace('#hash');
    

    【讨论】:

      猜你喜欢
      • 2018-12-03
      • 2019-12-27
      • 2020-10-30
      • 1970-01-01
      • 2019-12-23
      • 2020-06-08
      • 2020-05-10
      • 1970-01-01
      • 2018-08-12
      相关资源
      最近更新 更多