web-dev-qa-db-fra.com

Impossible de trouver le module 'react / lib / ReactComponentTreeHook' de 'ReactDebugTool.js'

J'essaie d'obtenir Jest pour exécuter un test de capture instantanée de mon React app. Les versions de mon package.json:

  "react": "15.6.1",
  "react-dom": "15.6.1",
  "react-test-renderer": "15.6.1",

Je ne peux pas surmonter cette erreur:

● Test suite failed to run


Cannot find module 'react/lib/ReactComponentTreeHook' from 'ReactDebugTool.js'

  at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:179:17)
  at Object.<anonymous> (node_modules/react-test-renderer/lib/ReactDebugTool.js:16:30)

J'ai essayé de supprimer et de réinstaller mon répertoire node_modules et j'ai vérifié que le chemin d'accès à mon composant est correct, mais j'obtiens toujours la même erreur.

Mon test ressemble à ceci:

import React from 'react';
import renderer from 'react-test-renderer';
import { Section } from '../../app/views/containers/section';

it('renders correctly', () => {
  const section = renderer.create(
    <Section key="1" section="finance"/>
  ).toJSON();
  expect(section).toMatchSnapshot();
});

Qu'est-ce que je fais mal?

18
jmargolisvt

Ran dans le même problème la semaine dernière, nous avons un projet React-Native qui a récemment mis à niveau vers:

"react-native": "0.45.1"
"react": "16.0.0-alpha.12"
"jest": "20.0.4"
"react-test-renderer": "15.5.4"

puis nous essayons d'exécuter nos tests Jest et nous avons vu le même problème que vous avez mentionné ci-dessus. Ensuite, nous avons réalisé qu'il existe une version de pointe du moteur de rendu React-Test et nous l'avons essayée:

"react-test-renderer": "^16.0.0-alpha.12",

Et maintenant, le problème n'est plus là.

33
dotcomXY

Sur 0.47.0

Toujours eu des erreurs avec la réponse acceptée devait faire ce qui suit:

"react-dom": "^16.0.0-beta.5", "react-test-renderer": "16.0.0-alpha.12",

l'enzyme fonctionnera avec les changements ci-dessus, mais aucune sorte de simulation ne fonctionnera, les robinets désactivés jusqu'à ce qu'ils prennent en charge.

7
wmcbain

Lors de la mise à niveau vers React 16.0.0, j'ai remarqué que vous devez mettre à niveau react-dom vers 16.0.0 et cela fonctionne parfaitement!

3
TGarrett