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 を使用している場合、より多くのモジュールをアンモックする必要がある可能性があります。