从'ReactDebugTool.js'找不到模块'react / lib / ReactComponentTreeHook'

我试图让Jest运行我的React应用程序的快照testing。 我的package.json版本:

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

我无法通过这个错误:

 ● 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) 

我已经尝试删除并重新安装我的node_modules目录,我已经validation,我的组件的path是正确的,但仍然得到这个相同的错误。

我的testing看起来像这样:

 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(); }); 

我究竟做错了什么?

上周遇到类似的问题,我们有一个React-Native项目,最近升级到:

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

然后我们尝试运行我们的Jesttesting,我们看到了与上面提到的相同的问题。 然后我们意识到了react-test-renderer的最新版本,我们尝试了一下:

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

现在这个问题已经不存在了。

在0.47.0

仍然有错误,接受的答案必须做到以下几点:

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

酶将与上述改变一起工作,但是任何types的模拟都不会,禁用水龙头直到它们支持。