web-dev-qa-db-ja.com

Jestが失敗するReact 16アップグレード後、「ReactShallowRenderer.js」からモジュール「react / lib / React」が見つかりません

V15.6.2からv16.0.0に反応するようにアップグレードしました(リベース経由)

問題

Jestsテストを実行すると、次のエラーが発生します

  ● 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がマージの競合を処理します を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",

誰かが私が見逃したものを見ることができますか?

9
Ashley Coolman

React 16、Enzymeを使用する場合、v16.x.xreact-test-rendererをインストールする必要があります。

13
benceg