IND*_*DER 11 javascript jsdom reactjs jestjs enzyme
我在 React WebApp 中使用 globalThis 属性,特别是 globalThis.scrollTo(0,0)。
我正在使用 Jest 和 Enzyme 进行单元测试。
由于测试用例失败,因为它无法识别 globalThis 并说 'globalThis' 未定义。
有没有办法像 jsdom 对 window 等所做的那样将 globalThis 引入测试?
例如
-- abc.tsx --
const abc: React.FC<CustomProps> = props => {
useEffect(() => {
globalThis?.scrollTo(0,0);
}
}
-- abcTest.tsx --
wrapper = mount(<abc/>);
mount产生错误,即“globalThis”未定义
sli*_*wp2 19
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]
  }
}