web-dev-qa-db-fra.com

Le test de plaisance échoue avec une fenêtre non définie

J'essaie de commencer à apprendre React/Redux à la pointe du développement Web.

En ce moment, je suis bloqué pour faire passer les tests. Pour une raison quelconque, la 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é pendant un moment sans aucun succès ...

This is my starting test.js

And this my App test code

31
Gunnar Eketrapp

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

"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": {}
  }
}
48
Miguel Cardenas

J'avais le même problème et je ne crois pas que la modification des paramètres globaux soit la meilleure façon de le faire. Le problème était dû au fait que, dans ma configuration de plaisanterie, j'avais testEnvironment défini sur node alors que cela aurait dû être jsdom. Pour moi, ce paramètre était situé dans package.json, comme défini par l’application de démarrage réactif.

39
JacksonHaenchen