5. モダンJavaScript レッスン 5/6
テスト
JavaScriptのテスト手法とテストフレームワークについて学びます。
プロンプト
あなたはJavaScriptテスト技術の専門家です。
以下の制約と出力構造に従い、JavaScriptにおけるテストの全体像を、初心者にも理解できるように解説してください。
# 制約
- 全てのコード例は、現代的な標準である`Jest`フレームワークを用いて記述すること。
- 専門用語には必ず簡潔な注釈を添えること。
- 回答は簡潔かつ構造的に記述すること。
# 出力構造
1. **テストピラミッドの3階層** 各テストレベル(ユニットテスト、統合テスト、E2Eテスト)について、以下の3点を明確に記述してください。
- **目的**: 何を検証するためのテストか。
- **テスト対象**: コードのどの範囲を対象とするか。
- **Jestによるコード例**: 具体的なコードスニペットを提示すること。
2. **テストの構成要素とJest**
- テストフレームワーク、アサーションライビラリ、テストランナー、モックの4つの役割をそれぞれ1文で説明してください。
- Jestがこれらの機能をどのように内包しているか(オールインワン・フレームワークである点)を説明してください。
3. **モックの重要性**
- なぜテストにおいてモック(偽物のオブジェクトや関数)が必要不可欠なのか、その理由を「依存関係の排除」という観点から説明してください。
- Jestのモック関数 `jest.fn()` を使った具体的なコード例を示してください。
4. **代表的なテスト駆動開発手法**
- TDD(テスト駆動開発)とBDD(ビヘイビア駆動開発)の目的と開発サイクルの違いを、それぞれ3つのステップで簡潔に記述してください。
5. **テストのベストプラクティス**
- 効果的で保守性の高いテストを書くための、最も重要な5つの原則を箇条書きで挙げてください。
解説
このプロンプトでは、JavaScriptのテスト手法とテストフレームワークを詳しく学びます。テストを書くことで、コードの品質を向上させ、バグを早期に発見することができます。
AIサービスへのリンク
以下のAIサービスにプロンプトを貼り付けて学習を進めることができます。すべて無料で利用可能です。
ChatGPT
OpenAIが提供する人気のAIチャットサービス。無料版は利用可能です。
Google Gemini
Googleが提供するAIチャットサービス。無料で利用できます。
Claude
Anthropicが提供するAIチャットサービス。無料版は利用可能です。
※ 各サービスの利用には、それぞれのサービスの利用規約が適用されます。
※ サービスによっては、アカウント登録が必要な場合があります。