我正在升级到 Jest 22,但在模拟方面遇到了一些问题window.location
。过去,此方法工作正常,但升级后不起作用。
Object.defineProperty(window.location, 'href', {
writable: true,
value: 'https://example.com/abc',
});
我已阅读过玩笑文档,有嘲笑的方式window.location
在package.json
为这样的配置。
"jest": {
"testURL": "https://example.com/home"
}
这在所有测试都使用相同 URL 的情况下工作正常。
有什么办法可以window.location.href
在测试文件中模拟。
我正在使用
"@types/jest": "^22.2.3",
"jest": "^22.4.3",
"@types/enzyme": "^3.1.10",
"enzyme": "^3.3.0",
更新
这是window.location
我的组件内部的用法
const currentPage = window.location.href.match(/([^\/]*)\/*$/)[1];