@remix-run/testing
このパッケージには、Remixアプリケーションの一部のユニットテストを支援するためのユーティリティが含まれています。これは、コンパイラによって出力されるRemixルートモジュール/アセットマニフェストをモックし、createMemoryRouter を介してインメモリのReact Routerアプリを生成することで実現されます。
このパッケージの一般的な使い方は、クリーンにモックすることができないRemixのフック/コンポーネント(useLoaderData
、useFetcher
など)に依存するコンポーネント/フックをテストすることです。リンクをクリックしてページをナビゲートするなどのより高度なテストにも使用できますが、それらはCypressやPlaywrightのようなツールを使用したエンドツーエンドテストに適しています。
使用法
createRemixStub
を使用するには、React Routerのようなルートオブジェクトを使用してルートを定義します。ここで、path
、Component
、loader
などを指定します。これらは基本的に、Remixアプリのルートファイルのネストとエクスポートをモックしています。
次に、<RemixStub />
コンポーネントをレンダリングして、それに対してアサートできます。
例
jest
とReact Testing Libraryを使用した完全な動作例を次に示します。