@testing-library/svelte:renderとfireEvent
テスト内でコンポーネントをレンダリングし、DOMを検索してユーザー操作をシミュレートします。
「@testing-library/svelte:renderとfireEvent」はCoddyKit上の無料Sveltejs Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSveltejs Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Sveltejs Academyコースには全4レッスンが含まれています。
Testing Library
@testing-library/svelte は、コンポーネントをレンダリングし、ユーザーと同じように操作するためのユーティリティを提供します。
render
コンポーネントを仮想 DOM にマウントします。
import { render } from "@testing-library/svelte";
const { getByText } = render(MyComp, { props: { name: "Ada" } });クエリメソッド
getByText、getByRole、getByLabelText を使用して、ユーザーと同じように要素を検索します。
fireEvent
クリック、入力、送信などのユーザー操作をシミュレートします。
import { fireEvent } from "@testing-library/svelte";
await fireEvent.click(getByRole("button"));user-event ライブラリ
より現実的な操作(文字入力やキーボードナビゲーション)には、@testing-library/user-event を使用します。
非同期更新
操作後、Svelte の更新が反映されるようにマイクロタスクを await します。
アサーション
toBeInTheDocument や toHaveAttribute などの jest-dom マッチャーとともに expect を使用します。
expect(getByText("Hello, Ada!")).toBeInTheDocument();コンポーネントの props
render の第 2 引数として props を渡します。
コンポーネントのイベント
コールバック prop として spy を渡し、イベントディスパッチャーをテストします。
DOM のスナップショット
リグレッションテストのために、レンダリングされた HTML のスナップショットを取得します。
ベストプラクティス
ユーザーの視点からテストしてください。内部状態を直接テストすることは避けます。
確認
render は何を行いますか?
まとめ
render、fireEvent、jest-dom を使用して、実際のユーザー操作と同じように Svelte コンポーネントをテストします。
よくある質問
「@testing-library/svelte:renderとfireEvent」レッスンは無料ですか?
はい。「@testing-library/svelte:renderとfireEvent」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Sveltejs Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Sveltejs Academyコースには全4レッスンが含まれています。
「@testing-library/svelte:renderとfireEvent」で何を学びますか?
テスト内でコンポーネントをレンダリングし、DOMを検索してユーザー操作をシミュレートします。 ブラウザで直接実行するハンズオンコードでSveltejs Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Sveltejs Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSveltejs Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「@testing-library/svelte:renderとfireEvent」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSveltejs Academyレッスンでコードを書いて実行できますか?
はい。すべてのSveltejs Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- SvelteプロジェクトでのVitestセットアップ
- @testing-library/svelte:renderとfireEvent
- Storeとリアクティビティのテスト
- モジュールとFetchのモック