読者コミュニティ|React テスト応用、テストに悩む人へ
本の感想や質問をお気軽にコメントしてください。
![isomura](https://res.cloudinary.com/zenn/image/fetch/s--08aafOpJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/fe6d0ed94d.jpeg)
5章途中まで読みました。
Reactのコンポーネントテストにまだ慣れていないのでこの本のような解説はとてもありがたいです。
jestやmochaなどのフレームワークの場合、cleanup()はreact-testing-library側が自動でやってくれるようなので明示的な指定は不要かと思います。
コメントありがとうございます。
Please note that this is done automatically if the testing framework you're using supports the afterEach global and it is injected to your testing environment (like mocha, Jest, and Jasmine). If not, you will need to do manual cleanups after each test.
これは全く知りませんでした。脳死で毎回 cleanup
してました。
別のアップデートを予定しているのでそのアップデートで一緒に修正しますね。
ご指摘感謝です、ありがとうございます🙏
遅くなりましたがこちらアップデートしています。
コンポーネントがアンマウントされる前に、非同期でコールバックキューに入った処理が実行されないようにするには useEffect
の引数となる関数がクリーンアップ処理を返すよう明示する必要がある。
本書ではテストの書き方を優先し触れていないが補足的に書く必要がありそう。
-
useRef
などを使ってクリーンアップフラグが立ったらキャンセルさせる -
AbortController
が利用できるならば fetch のオプションにシグナルを渡す
今回は fetch を扱っているので後者が適切に思える。
タイポの指摘。
01 はじめに:この本について
さまざまな解説が多いため本書基本的な扱い方は解説しません。
04 同期的カウンタコンポーネントのテスト
全記術
たしかに how ばかりで why が少なかった。
ユーザーのユースケースに合わせた testing-library family の思想(まあいわば KCD のだけど)と手法、一般的なテスト手法(値マッチなど)を比較してどう違うか、なぜ前者だと嬉しいのか、開発者が安心してコンポーネントに手を入れやすいか、あたりにも各章触れると良さそう。