0Pricing
React Academy · レッスン

FetchとTimerのMock

fetch mockでネットワークをstubし、fake timerで時間を制御して、非同期component向けの安定した高速なテストを書きます。

「FetchとTimerのMock」はCoddyKit上の無料React Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはReact Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 React Academyコースには全3レッスンが含まれています。

ネットワークと時間をモックする理由

目標:非同期処理をモックして、テストを高速で信頼性の高いものにします。

  • fetchのレスポンスをスタブします
  • フェイククロックでタイマーを制御します
  • findBy*/waitForを使ってアサートします

一般的なパターン

  • fetch:global.fetchをspyOn → mockResolvedValue
  • タイマー:vi.useFakeTimers(); タイマーを進めます
  • 非同期DOMにはfindBy*を優先します

デモ:クリックでfetchするウィジェット

テストではfetchをモックして、データを即座に返します。ここではsetTimeoutを使って、UIが遅いfetchをシミュレーションします。


<div id="root"></div>

デモ:タイマーによるメッセージ

テストではフェイクタイマーを使用して待機を省略します。時間を進めて、メッセージをアサートします。


<div id="root"></div>

リファレンス:テストスニペット

参照用のテストスニペットです(表示のみ)。Vitestでfetchをスパイし、フェイクタイマーを使用します。


<div id="root"></div>

ヒントと注意点

  • スパイをクリーンアップします:各テストの後にmockRestoreを実行します
  • 非同期UIにはfindBy*を使用します
  • useRealTimersで実際のタイマーに戻します

タイマーのテストに関するベストプラクティス

実時間で待機せずに、setTimeoutを使うコードをテストするにはどうすればよいですか?

まとめ

まとめ:fetchをモックしてレスポンスを制御し、フェイクタイマーで時間を即座に進めます。安定した非同期テストにはfindBy*/waitForでアサートします。

よくある質問

「FetchとTimerのMock」レッスンは無料ですか?

はい。「FetchとTimerのMock」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、React Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 React Academyコースには全3レッスンが含まれています。

「FetchとTimerのMock」で何を学びますか?

fetch mockでネットワークをstubし、fake timerで時間を制御して、非同期component向けの安定した高速なテストを書きます。 ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

React Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのReact Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「FetchとTimerのMock」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このReact Academyレッスンでコードを書いて実行できますか?

はい。すべてのReact Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. React Testing Library + Vitest/Jestのセットアップ
  2. Queries、Events、Assertions――Formと非同期UI
  3. FetchとTimerのMock
← React Academyに戻る