我有其中的场景
if(window.location.origin){
//list of operations
}else{
//list of operations
}
我正在尝试使用[茉莉花]为Jasmine中的window.location.origin属性分配值readonly
属性>]
Object.defineProperty(window.location, 'origin', { value: '', writable: true, }
但是我收到错误
TypeError: Cannot redefine property: origin
我已经尝试了以下针对jest
的解决方案,这些解决方案建议更改jsdom
并使用reconfigure
更改测试环境的值。有办法在茉莉花中做到这一点吗?我可以得到Env() using jasmine.getEnv()
的茉莉花,但无法设置它。
Unable to change window.location using Object.defineProperty
Unable to redefine properties of the window object
我有if(window.location.origin){//操作列表} else {//操作列表} >
如果仅为了在NodeJS中进行测试而尝试执行此操作,请尝试重新定义其构造函数:
Object.defineProperty(window.location.constructor.prototype, 'origin', {
value: '',
configurable: true,
}