0Pricing
React Academy · レッスン

Queries、Events、Assertions――Formと非同期UI

getBy/findBy query、入力やクリックのためのuser-event、jest-dom assertionを使います。formと非同期screenを自信を持ってテストします。

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

ユーザー中心のテスト

目標:ユーザーのようにテストします。

  • クエリ:getBy*/findBy*
  • イベント:user-event(クリック、入力)
  • アサーション:jest-dom

クエリ:適切なものを選ぶ

  • getBy*:同期的に処理し、見つからない場合は失敗します
  • findBy*:非同期に処理し、待機します
  • queryBy*:見つからない場合はnullを返します
  • テストIDよりもロール/ラベルを優先します

デモ:アクセシブルなログインフォーム

ラベルと送信ボタンを備えたフォームです。getByLabelText、getByRole、ユーザーによる入力のテストに適しています。


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

デモ:非同期リスト(読み込み → 項目)

非同期のfetchをシミュレーションし、ローダーを表示してから項目をレンダーします。テストではfindBy*またはwaitForを使用します。


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

アサーションとイベント

  • toBeInTheDocument、toBeDisabled、toHaveTextContent
  • 非同期UIにはfindBy*を使用します
  • fireEventよりもuser-eventを優先します

パターンと注意点

パターン:

  • 準備 → 実行(user-event) → 検証
  • 非同期処理:await findBy*またはwaitFor
  • 任意のタイムアウトは避け、テストを高速に保ちます

非同期アサーションのベストプラクティス

非同期処理の後に表示される要素は、どのようにアサートするのが推奨されますか?

まとめ

まとめ:ロールやラベルによるクエリを優先し、user-eventでUIを操作して、jest-domでアサートします。非同期UIでは、findBy*をawaitするか、waitForでラップします。

よくある質問

「Queries、Events、Assertions――Formと非同期UI」レッスンは無料ですか?

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

「Queries、Events、Assertions――Formと非同期UI」で何を学びますか?

getBy/findBy query、入力やクリックのためのuser-event、jest-dom assertionを使います。formと非同期screenを自信を持ってテストします。 ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「Queries、Events、Assertions――Formと非同期UI」レッスンにはどのくらい時間がかかりますか?

ほとんどの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に戻る