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 Edits (⇧⌘I (Windows Ctrl+Shift+I、Linux Ctrl+Shift+Alt+I))
- チャットビュー (⌃⌘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 の一般的なテスト機能 を調べてください。
- ユニットテストの生成 のプロンプト例を確認してください