[英]'globalThis' underfined for Jest test cases
我在我的 React WebApp 中使用 globalThis 屬性,特別是 globalThis.scrollTo(0,0)。
我正在使用 Jest 和 Enzyme 進行單元測試。
由於測試用例失敗,因為它無法識別 globalThis 並表示“globalThis”未定義。
有沒有辦法將 globalThis 引入測試,就像 jsdom 對 window 等所做的那樣?
例如
-- abc.tsx --
const abc: React.FC<CustomProps> = props => {
useEffect(() => {
globalThis?.scrollTo(0,0);
}
}
-- abcTest.tsx --
wrapper = mount(<abc/>);
mount產生“globalThis”未定義的錯誤
globalThis需要節點版本 12+。 我使用n作為節點版本管理。
console.log(globalThis);
對於node/10.16.2
,出現錯誤:
console.log(globalThis);
^
ReferenceError: globalThis is not defined
對於node/12.6.1
,得到:
Object [global] {
global: [Circular],
clearInterval: [Function: clearInterval],
clearTimeout: [Function: clearTimeout],
setInterval: [Function: setInterval],
setTimeout: [Function: setTimeout] { [Symbol(util.promisify.custom)]: [Function] },
queueMicrotask: [Function: queueMicrotask],
clearImmediate: [Function: clearImmediate],
setImmediate: [Function: setImmediate] {
[Symbol(util.promisify.custom)]: [Function]
}
}
您可以將這些代碼添加到頂部
!function(t){function e(){var e=this||self;e.globalThis=e,delete t.prototype._T_}"object"!=typeof globalThis&&(this?e():(t.defineProperty(t.prototype,"_T_",{configurable:!0,get:e}),_T_))}(Object);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.