GitHub Copilotでのテスト
テストの作成と保守は、ソフトウェア開発において重要ではあるものの、しばしば時間のかかる部分です。GitHub Copilotは、Visual Studio Codeでテストをより効率的に作成、デバッグ、修正するのに役立ち、このプロセスを効率化します。この記事では、Copilotのテスト機能を活用して、テストワークフローを改善し、プロジェクトのテストカバレッジを高める方法を紹介します。
Copilotは以下のテストタスクに役立ちます
- テストフレームワークを設定する: プロジェクトや言語に適したテストフレームワークとVS Code拡張機能の設定を支援します。
- テストコードを生成する: アプリケーションコードをカバーする単体テスト、統合テスト、エンドツーエンドテストを作成します。
- エッジケースを処理する: エッジケースやエラー条件をカバーする包括的なテストスイートを生成します。
- 失敗したテストを修正する: テストの失敗を修正するための提案を受け取ります。
- 一貫性を維持する: プロジェクトのコーディング規約に従ってテストを生成するようにCopilotをパーソナライズします。
Copilotサブスクリプションをお持ちでない場合でも、Copilot Freeプランにサインアップすることで、Copilotを無料で利用でき、月に規定の補完とチャットインタラクションの制限が適用されます。
テストフレームワークを設定する
テストワークフローを加速するために、CopilotはプロジェクトのテストフレームワークとVS Code拡張機能の設定を支援できます。Copilotは、プロジェクトの種類に基づいて適切なテストフレームワークを提案します。
- チャットビューを開きます(⌃⌘I(Windows、LinuxではCtrl+Alt+I))。
- チャット入力フィールドに
/setupTests
コマンドを入力します。 - Copilotのガイダンスに従ってプロジェクトを設定します。
Copilotでテストを作成する
Copilotは、コードベースをカバーするテストコードを生成することで、アプリケーションコードのテスト作成を支援できます。これには、単体テスト、エンドツーエンドテスト、およびエッジケースのテストが含まれます。
チャットプロンプトを使用する
-
アプリケーションコードファイルを開きます。
-
以下のいずれかのビューを開きます
- Copilot編集()
- チャットビュー(⌃⌘I(Windows、LinuxではCtrl+Alt+I))
- インラインチャット(⌘I(Windows、LinuxではCtrl+I))
-
次のようなプロンプトを入力します
- "このコードのテストを生成してください"
- "エッジケースを含む単体テストを作成してください"
- "このモジュールの統合テストを作成してください"
GitHubドキュメントのGitHub Copilotを使用したテスト作成について、さらに詳しいガイダンスを入手できます。
エディタのスマートアクションを使用する
プロンプトを入力せずにアプリケーションコードのテストを生成するには、エディタのスマートアクションを使用できます。
-
アプリケーションコードファイルを開きます。
-
必要に応じて、テストしたいコードを選択します。
-
右クリックして、Copilot > テストを生成を選択します。
Copilotは、既存のテストファイルにテストコードを生成するか、テストファイルが存在しない場合は新しいテストファイルを作成します。
-
必要に応じて、インラインチャットプロンプトで追加のコンテキストを提供することにより、生成されたテストを微調整します。
失敗したテストを修正する
CopilotはVS Codeのテストエクスプローラーと統合されており、失敗したテストの修正を支援できます。
- テストエクスプローラーで、失敗したテストにカーソルを合わせます
- テストの失敗を修正ボタン(スパークルアイコン)を選択します
- Copilotの修正提案を確認して適用します
または、次の方法もあります
- チャットビューを開きます
/fixTestFailure
コマンドを入力します- Copilotの提案に従ってテストを修正します
エージェントモードは、テスト実行時にテスト出力を監視し、失敗したテストを自動的に修正して再実行しようとします。
テスト生成をパーソナライズする
組織に特定のテスト要件がある場合、Copilotがテストを生成する方法をカスタマイズして、それらが標準を満たすようにすることができます。カスタム指示を提供することで、Copilotがテストを生成する方法をパーソナライズできます。例:
- 推奨されるテストフレームワークを指定する
- テストの命名規則を定義する
- コード構造の好みを設定する
- 特定のテストパターンまたは方法論を要求する
テスト生成のためのCopilotのパーソナライズについて、さらに詳しい情報を入手してください。
より良いテスト生成のためのヒント
Copilotでテストを生成する際に最高の結果を得るには、次のヒントに従ってください
- 好みのテストフレームワークについてプロンプトでコンテキストを提供する
- 特定の種類のテスト(単体、統合、エンドツーエンド)が必要かどうかを指定する
- 特定のテストケースやエッジケースを要求する
- プロジェクトのコーディング標準に従うテストを要求する
次のステップ
- VS CodeのCopilotについて詳しくはこちら。
- VS Codeの一般的なテスト機能をご覧ください。
- 単体テストを生成するためのプロンプトの例を確認してください