GitHub Copilot によるテスト
テストの作成と保守は、ソフトウェア開発において極めて重要ですが、多くの場合、時間を消費する作業です。GitHub Copilot は、Visual Studio Code でテストの作成、デバッグ、修正をより効率的に行えるようにすることで、このプロセスを合理化します。この記事では、Copilot のテスト機能を活用して、テストのワークフローを改善し、プロジェクトのテストカバレッジを向上させる方法を紹介します。
Copilot は以下のテストタスクを支援します
- テストフレームワークのセットアップ: プロジェクトや言語に適したテストフレームワークや VS Code 拡張機能の設定をサポートします。
- テストコードの生成: アプリケーションコードを網羅するユニットテスト、統合テスト、エンドツーエンドテストを作成します。
- エッジケースの処理: エッジケースやエラー条件を網羅する包括的なテストスイートを生成します。
- 失敗したテストの修正: テストの失敗を修正するための提案を受け取ります。
- 一貫性の維持: プロジェクトのコーディング慣習に従ったテストを生成するように Copilot をパーソナライズします。
Copilot サブスクリプションをまだお持ちでない場合は、Copilot 無料プラン にサインアップすることで Copilot を無料で使用でき、月間許容量のインライン提案と AI クレジットを受け取ることができます。
2026年4月20日より、Copilot Pro、Copilot Pro+、Max、および Student プランの新規登録は一時的に停止されています。
テストフレームワークのセットアップ
テストワークフローを加速させるために、Copilot はプロジェクトのテストフレームワークや VS Code 拡張機能のセットアップを支援します。Copilot はプロジェクトの種類に基づいて適切なテストフレームワークを提案します。
- チャット ビューを開きます (⌃⌘I (Windows、Linux Ctrl+Alt+I))。
- チャット入力フィールドに
/setupTestsコマンドを入力します。 - Copilot のガイダンスに従ってプロジェクトを設定します。
Copilot を使ったテストの作成
Copilot は、コードベースを網羅するテストコードを生成することで、アプリケーションコードのテスト作成を支援します。これには、ユニットテスト、エンドツーエンドテスト、およびエッジケースのテストが含まれます。
チャットプロンプトを使用する
-
アプリケーションコードファイルを開きます。
-
以下のいずれかのビューを開きます
- チャットビュー (⌃⌘I (Windows, Linux Ctrl+Alt+I))
- インラインチャット (⌘I (Windows, Linux Ctrl+I))
-
以下のようなプロンプトを入力します
- "Generate tests for this code"(このコードのテストを生成して)
- "Write unit tests including edge cases"(エッジケースを含むユニットテストを書いて)
- "Create integration tests for this module"(このモジュールの統合テストを作成して)
GitHub ドキュメントで、GitHub Copilot を使用したテストの作成に関する詳細を確認してください。
エディターのスマートアクションを使用する
プロンプトを書かずにアプリケーションコードのテストを生成するには、エディターのスマートアクションを使用できます。
-
アプリケーションコードファイルを開きます。
-
必要に応じて、テストしたいコードを選択します。
-
右クリックして [コードの生成] (Generate Code) > [テストの生成] (Generate Tests) を選択します。
Copilot は既存のテストファイルにテストコードを生成するか、ファイルが存在しない場合は新しいテストファイルを作成します。
-
必要に応じて、インラインチャットプロンプトで追加のコンテキストを提供し、生成されたテストを洗練させます。
失敗したテストの修正
Copilot は VS Code のテストエクスプローラーと統合されており、失敗したテストの修正を支援できます。
- テストエクスプローラーで、失敗したテストにカーソルを合わせます
- [テストの失敗を修正] (Fix Test Failure) ボタン(きらめきアイコン)を選択します
- Copilot が提案した修正を確認し、適用します
または、以下の方法も可能です
- チャット ビューを開く
/fixTestFailureコマンドを入力します- Copilot の提案に従ってテストを修正します
エージェントを使用している場合、エージェントはテスト実行時の出力を監視し、失敗したテストを自動的に修正して再実行しようとします。
テスト生成のパーソナライズ
組織に特定のテスト要件がある場合は、Copilot が生成するテストが基準を満たすようにカスタマイズできます。カスタム指示を提供することで、Copilot によるテスト生成をパーソナライズできます。例:
- 推奨されるテストフレームワークを指定する
- テストの命名規則を定義する
- コード構造の優先順位を設定する
- 特定のテストパターンや手法をリクエストする
テスト生成のための Copilot のパーソナライズに関する詳細情報を取得する。
より良いテスト生成のためのヒント
Copilot でテストを生成する際に最良の結果を得るには、以下のヒントに従ってください
- 好みのテストフレームワークに関するコンテキストをプロンプトに含める
- 特定の種類のテスト(ユニット、統合、エンドツーエンド)が必要かどうかを指定する
- 特定のテストケースやエッジケースをリクエストする
- プロジェクトのコーディング標準に従ったテストをリクエストする
次のステップ
- ブラウザエージェントツールを使用した Web アプリのテストを試す。
- VS Code における Copilot について詳しく学ぶ。
- VS Code の一般的なテスト機能を探索する。
- ユニットテスト生成のためのプロンプト例を確認する