【问题标题】:Jest fails Cannot find module 'react/lib/React' from 'ReactShallowRenderer.js' after React 16 upgradeJest 失败 React 16 升级后无法从“ReactShallowRenderer.js”中找到模块“react/lib/React”
【发布时间】:2018-03-23 08:33:00
【问题描述】:

刚刚从 v15.6.2 升级到 react v16.0.0(通过变基)

问题

运行我的笑话测试会出现以下错误

  ● Test suite failed to run

    Cannot find module 'react/lib/React' from 'ReactShallowRenderer.js'

      at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:191:17)
      at Object.<anonymous> (node_modules/react-test-renderer/lib/shallow/ReactShallowRenderer.js:16:13)

我是如何升级的

第 1 步:yarn.lock

在变基期间,使用 React v16 进入一个分支 - 我让 yarn 1.1.0 take care of merge conflicts 在我的 yarn.lock 文件中

第 2 步:添加适配器

我添加了新的适配器setupTestFramework.js

import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });

第 3 步:升级软件包

并升级了以下软件包:

react "16.0.0",
enzyme "3.1.0",
jest "21.2.1",
babel-jest "21.2.0",

谁能看到我错过的任何东西?

【问题讨论】:

    标签: reactjs jestjs babel-jest


    【解决方案1】:

    与 React 16 一起使用时,Enzyme 需要安装 v16.x.xreact-test-renderer

    【讨论】:

    • 我正在使用 react@16.2.0react-test-renderer@16.2.0 但我仍然看到这个问题。
    • 你能解决这个问题吗?我目前正面临这个问题。
    【解决方案2】:

    按照以下命令为我工作

    npm uninstall react-dom  
    

    然后

      npm install react-dom --save-dev 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-21
      • 2018-02-24
      • 2017-11-24
      • 2022-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-01
      相关资源
      最近更新 更多