Jest で Enzyme を使用する

Jest での設定

Enzyme とアダプターの設定を行うセットアップファイル(インストールドキュメントを参照)を Jest で実行するには、設定ファイル(Jest のドキュメントで設定ファイルの場所を確認してください)で `setupFilesAfterEnv`(以前は `setupTestFrameworkScriptFile`)を文字列 `<rootDir>` とセットアップファイルへのパスに設定します。

{
  "jest": {
    "setupFilesAfterEnv": ["<rootDir>src/setupTests.js"]
  }
}

Jest バージョン 15 以降

バージョン 15 から、Jest はデフォルトでモジュールをモックしなくなりました。このため、Enzyme と Jest を使用する際に特別な設定を追加する必要がなくなりました。

Jest のドキュメントに推奨されているように、Jest とその Babel 統合をインストールします。Enzyme をインストールします。その後、テストファイルの先頭で React、Enzyme 関数、およびモジュールを require/import するだけです。

import React from 'react';
import { shallow, mount, render } from 'enzyme';

import Foo from '../Foo';

Jest の独自のレンダラーは、Jest スナップショットテストのみに使用する必要がある場合を除いて、含める必要はありません。

Jest バージョン 15 以降のサンプルプロジェクト

Jest バージョン 15 より前

Jest 0.9~14.0 と Enzyme を使用していて、Jest の自動モック機能を使用している場合は、`package.json` で react と enzyme を unmocked にする必要があります。

package.json:

{
  "jest": {
    "unmockedModulePathPatterns": [
      "node_modules/react/",
      "node_modules/enzyme/"
    ]
  }
}

npm3 と共に以前のバージョンの Jest を使用している場合、より多くのモジュールをアンモックする必要がある可能性があります