Сбой Jest Не удается найти модуль «react/lib/React» из «ReactShallowRenderer.js» после обновления React 16

Только что обновился, чтобы реагировать на v16.0.0 с v15.6.2 (через перебазирование)

Проблема

Запуск моих тестов на шутки дает следующую ошибку

  ● 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 я позволил пряже 1.1.0 позаботиться конфликтов слияния в моем файле 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",

Может ли кто-нибудь увидеть что-нибудь, что я пропустил?


person Ashley Coolman    schedule 11.10.2017    source источник


Ответы (2)


При использовании с React 16 Enzyme требует установки v16.x.x из react-test-renderer.

person benceg    schedule 11.10.2017
comment
Я использую [email protected] и [email protected], но все еще вижу эту проблему. - person carmenism; 07.12.2017
comment
Удалось решить эту проблему? В настоящее время я сталкиваюсь с этой проблемой. - person user989988; 28.11.2018

Работал для меня, следуя приведенной ниже команде

npm uninstall react-dom  

а потом

  npm install react-dom --save-dev 
person Amit Kumar Trivedi    schedule 16.07.2020