'globalThis' не определено для тестовых случаев Jest - PullRequest
0 голосов
/ 01 апреля 2020

Я использую globalThis свойство, в частности globalThis.scrollTo (0,0), в моем React WebApp.

Я использую Jest для модульного тестирования вместе с ферментом.

Начиная с тестовых случаев, как он не может идентифицировать globalThis и говорит, что globalThis не определено.

Есть ли способ ввести globalThis в тесты, как это делает jsdom для window et c?

Например

- ab c .tsx -

const abc: React.FC<CustomProps> = props => {
useEffect(() => {
globalThis?.scrollTo(0,0);
}
}

- abcTest.tsx -

wrapper = mount(<abc/>);

mount выдает ошибку что "globalThis" не определено

1 Ответ

1 голос
/ 02 апреля 2020

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]
  }
}
...