global.location在Jest测试中不起作用

时间:2015-11-24 21:23:45

标签: reactjs jsdom jestjs

我有一个使用Web套件构建的应用程序,使用Jest进行测试。最近我将Jest更新为0.8.0版本,将Node更新为版本5.

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

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

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

Location {}

好像现在有一些外部库试图模仿窗口的位置对象......任何想法如何处理这个?

1 个答案:

答案 0 :(得分:3)

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

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

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