58 votes

Le test Jest échoue avec la fenêtre n'est pas définie

Je suis en train de commencer avec l'état de l'art web, développement de l'apprentissage Réagir/Redux.

Droit maintenant, je suis coincé à l'obtention de tests en cours d'exécution. Pour une raison quelconque plaisanterie échoue avec

Task :frontend:test 
yarn jest v1.0.2
$ "/Users/gunnar/git/app.oakstair.se/frontend/node_modules/.bin/jest" 
FAIL src/containers/App/App.test.js
  ● Test suite failed to run

 ReferenceError: window is not defined

  at Object.<anonymous> (config/polyfills.js:18:1)
  at next (native)
  at process._tickCallback (internal/process/next_tick.js:109:7)

J'ai googlé pour un certain temps sans succès ...

This is my starting test.js

And this my App  test code

85voto

JacksonHaenchen Points 750

J'ai eu le même problème et je ne pense pas que la modification des globaux soit la façon de le faire. Le problème était que, dans ma configuration de plaisanterie, j'avais testEnvironment réglé sur node alors qu'il aurait dû être jsdom . Pour moi, ce paramètre était situé dans package.json tel que défini par l'application React Starter.

76voto

Miguel Cardenas Points 637

Dans votre package.json, ajoutez window comme global quelque chose comme ça

 "jest": {
  "verbose": true,
  "preset": "react-native",
  "setupFiles": ["./jest/setup.js"],
  "testRegex": "(/tests/.*|\\.(test|spec))\\.(ts|tsx|js)$",
  "transformIgnorePatterns": [
    "node_modules/(?!(jest-)?react-native|lottie-react-native)"
  ],
  "globals": {
    "window": {}
  }
} 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X