global.location 在 Jest 测试中不起作用
global.location not working in Jest tests
我有一个使用 Webpack 构建的应用程序,该应用程序使用 Jest 进行了测试。最近我将 Jest 更新到 0.8.0 版,将 Node 更新到版本 5.
我测试了几个从 global.location
读取的组件。以前,我会这样设置 global.location 自己:
global.location = {
hash: '#hash'
};
这在升级之前工作正常;现在 none 的组件使用全局工作,当我打印 global.location 时,我得到:
Location {}
似乎现在有一些外部库试图模拟 window 的位置对象...有什么处理方法吗?
好的,我在写问题的时候想到了这一点:^P
问题似乎是 Jest 使用的 jsdom
在较新的版本中试图模拟位置对象。源代码表明实现仍然有点不成熟,但我能够解决我的特定问题:
global.location.replace('#hash');
我有一个使用 Webpack 构建的应用程序,该应用程序使用 Jest 进行了测试。最近我将 Jest 更新到 0.8.0 版,将 Node 更新到版本 5.
我测试了几个从 global.location
读取的组件。以前,我会这样设置 global.location 自己:
global.location = {
hash: '#hash'
};
这在升级之前工作正常;现在 none 的组件使用全局工作,当我打印 global.location 时,我得到:
Location {}
似乎现在有一些外部库试图模拟 window 的位置对象...有什么处理方法吗?
好的,我在写问题的时候想到了这一点:^P
问题似乎是 Jest 使用的 jsdom
在较新的版本中试图模拟位置对象。源代码表明实现仍然有点不成熟,但我能够解决我的特定问题:
global.location.replace('#hash');