テスト
ReactとNext.jsでは、それぞれ独自の目的とユースケースを持ついくつかの異なる種類のテストを作成できます。このページでは、アプリケーションをテストするために使用できるテストの種類と一般的に使用されるツールの概要を説明します。
テストの種類
- 単体テストは、個々のユニット(またはコードブロック)を分離してテストすることを含みます。Reactでは、ユニットは単一の関数、フック、またはコンポーネントになり得ます。
- コンポーネントテストは、単体テストのより焦点を絞ったバージョンであり、テストの主な対象はReactコンポーネントです。これには、コンポーネントのレンダリング方法、propsとのやり取り、およびユーザーイベントへの応答における動作のテストが含まれる場合があります。
- 統合テストは、複数のユニットが連携してどのように機能するかをテストすることを含みます。これは、コンポーネント、フック、および関数の組み合わせになります。
- エンドツーエンド(E2E)テストは、実際のユーザーシナリオ(ブラウザなど)をシミュレートする環境でユーザーフローをテストすることを含みます。これは、本番環境に似た環境で特定のタスク(例:サインアップフロー)をテストすることを意味します。
- スナップショットテストは、コンポーネントのレンダリング出力をキャプチャし、スナップショットファイルに保存することを含みます。テストが実行されると、コンポーネントの現在のレンダリング出力が保存されたスナップショットと比較されます。スナップショットの変更は、予期しない動作の変更を示すために使用されます。
非同期サーバーコンポーネント
asyncサーバーコンポーネントはReactエコシステムに新しいため、一部のツールでは完全にはサポートされていません。それまでの間、asyncコンポーネントには単体テストではなくエンドツーエンドテストを使用することをお勧めします。
ガイド
これらの一般的に使用されるテストツールでNext.jsをセットアップする方法については、以下のガイドを参照してください。
役に立ちましたか?