今さら Expo SDK36 で jest を使ってユニットテストしたい
Expo のアプリで、ロジックが複雑なユーティリティ関数をピンポイントでテストしたい。しかもソースは TypeScript。
とりあえず下記に沿って jest をインストールしてテストを書いてみたが、ESM のインポートで書くにはどうすれば??と躓いた。
https://jestjs.io/ja/docs/getting-started
Expo でのやり方を調べると、jest-expo をインストールしろと書かれている。
https://docs.expo.dev/guides/testing-with-jest/
が、この手順だとバージョンが新しすぎて下記のエラーが…
Cannot find module ‘react-native/Libraries/LogBox/LogBox’ from ‘setup.js’ at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:299:11) at Object. (node_modules/jest-expo/src/preset/setup.js:155:6)
ということで、一旦すべて yarn remove してから下記でうまくいった。
yarn add jest-expo@36.0.1 --dev
yarn add --dev @types/jest
今のところ、ビュー側をテストするつもりはないので react-test-renderer 入れなかった。
設定は下記の通り。
"scripts": {
:
"test": "node_modules/.bin/jest"
},
"jest": {
"preset": "jest-expo"
},
無事 yarn test で実行できた。
コメントを残す