酵素を使用して React Native プロジェクトをテストしようとしていますが、セットアップ手順に従いました。
https://github.com/airbnb/enzyme/blob/master/docs/guides/react-native.md
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "mocha --require react-native-mock/mock.js --compilers js:babel-core/register --recursive test/**/*.js"
},
これは正常に機能し、自分のコードは正しくトランスパイルされますが、コードをトランスパイルしないモジュール (たとえばhttps://github.com/aksonov/react-native-router-flux ) を含めると、テストの実行が拒否されますこれらのモジュールの import ステートメントでエラーが発生するためです。
これらのモジュールをbabelにトランスパイルさせるにはどうすればよいですか、またはテストを実行する別の方法はありますか?
アップデート
React Native自体はトランスパイルされていないため、トランスパイルされていないサードパーティモジュールはReact Nativeとかなり共通しているようです。
解決策は、トランスパイルを強制することと、react-native-mock を使用することの組み合わせのようです。 https://github.com/facebook/react-native/issues/5392
ただし、NavigationExperimental がモックされていないため、react-native-router-flux でさらに問題が発生しています。
関連リンクは次のとおりです。
https://github.com/lelandrichardson/react-native-mock/issues/23 https://github.com/lelandrichardson/react-native-mock/issues/22 https://github.com/lelandrichardson/react-ネイティブモック/プル/34
解決策が見つかったら、ここで更新します。
更新 2
誰かが役に立つと思う場合に備えて、現在の回避策を以下に含めました。