チャット ビュー モードを使用して単体テストを作成する
Visual Studio Code のチャット ビューには、単体テストの作成に使用できる 3 つのモード (Ask、Edit、Agent) が用意されています。 各モードには独自の長所と短所があり、使用するのに最適なモードは、手元の特定のタスクによって異なります。
- ask モードは、コード プロジェクト、コーディング トピック、および一般的なテクノロジの概念に関する質問に最適化されています。
- 編集モードは、コードベース内の複数のファイル間で編集を行う目的で最適化されています。
- エージェント モードは、エージェント コーディング ワークフローを開始するために最適化されています。
Von Bedeutung
エージェント モードでチャット ビューを使用する場合、GitHub Copilot は 1 つのタスクを完了するために複数の Premium 要求を行う場合があります。 Premium 要求は、ユーザーが開始したプロンプトと、Copilot がユーザーに代わって実行するフォローアップ アクションで使用できます。 使用される Premium 要求の合計数は、タスクの複雑さ、関連するステップの数、選択したモデルによって異なります。
ask モードを使用して単体テストを作成する
ask モードを使用してワークスペースを分析し、単体テストを作成できます。 ask モードは、ファイル内の複数の関数またはメソッドのテストを作成する場合や、ファイル全体のテストを作成する場合に便利です。
ask モードを使用して単体テストを作成するには、次の手順に従います。
テストするコードを含むファイルを開きます。
チャット ビューを開き、ask モードを使用して新しいチャット セッションを開始します。
チャット セッションにコンテキストを追加します。
- Visual Studio Code のエクスプローラー ビューからチャット ビューにファイルをドラッグ アンド ドロップすることで、チャット セッションにコンテキストを追加できます。 [ コンテキストの追加] ボタンを使用することもできます。
- コード エディターで外部ファイルを開いて、ワークスペースに含まれていないリソースを含め、それらを使用して特定のコンテキストを提供できます。 たとえば、共同作成者のガイドラインや連絡先情報を含むマークダウン ファイルを開き、[ コンテキストの追加] ボタンを使用してチャット ビュー コンテキストに追加できます。
-
@workspace
チャット変数を使用して、プロンプトの一部としてワークスペースを指定できます。 ワークスペース コンテキストは、ファイル内の複数の関数またはメソッドのテストを作成する場合や、ファイル全体のテストを作成する場合に便利です。
ファイル内のコードの単体テストを求めるプロンプトを入力します。
- 例: "
@workspace /explain I need to create unit tests for the code in this file. The tests should be written in Python and use the unittest framework.
"
- 例: "
推奨される単体テストを確認し、必要に応じて更新されたプロンプトを使用して結果を絞り込みます。
推奨される単体テストをテスト ファイルに移動します。
- たとえば、コード ファイルと同じディレクトリにテスト ファイルを作成し、推奨される単体テストをファイルに挿入します。
- ask モードを使用して、テスト ファイルの作成後に特定のテストの更新を提案したり、他の GitHub Copilot ツールを使用して更新を支援したりできます。
- [ エディターで適用 ] ボタンを使用して、推奨される単体テストをコード ファイルに直接適用することもできます。
テスト ファイルを保存します。
- 通常、テスト ファイルは、単体テスト用に構成されたプロジェクト内の別の "tests" ディレクトリに保存されます。 オプションは、プロジェクトの構造とテスト フレームワークによって異なります。
- ask モードを使用して、テスト ファイルの作成後に特定のテストの更新を提案したり、他の GitHub Copilot ツールを使用して更新を支援したりできます。
テストを実行して、コードの機能がテストを通過することと、機能を確認することを保証します。
必要に応じて、テスト ケースをさらに追加するか、既存のテスト ケースを変更して、テストを調整します。
テストに変更を加えてから、ファイルをもう一度保存します。
編集モードを使用して単体テストを作成する
編集モードを使用して、チャットにコンテキスト ファイルを追加し、テスト ファイルを作成または更新することで、単体テストを作成できます。 編集モードは、ファイル内の特定の関数またはメソッドのテストを作成する場合や、ファイル全体のテストを作成する場合に便利です。
編集モードを使用して単体テストを作成するには、次の手順に従います。
テストするコードを含むファイルを開きます。
チャット ビューを開き、編集モードを使用して新しいチャット セッションを開始します。
チャット セッションにコンテキストを追加します。
- チャット参加者は編集モードでは使用できないため、プロンプトの一部として
@workspace
を指定することはできません。 ただし、#codebase
を使用し、Visual Studio Code のエクスプローラー ビューからチャット ビューにファイルまたはフォルダーをドラッグ アンド ドロップすることで、チャット セッションにコンテキストを追加できます。 Visual Studio Code を使用して、共同作成者のガイドラインを含むマークダウン ファイルなどの外部ファイルを開き、[ コンテキストの追加] ボタンを使用してチャット コンテキストに追加します。
- チャット参加者は編集モードでは使用できないため、プロンプトの一部として
目的の単体テストを作成するためのプロンプトを入力します。
- 例: "
I need to create unit tests for the code in this file. The tests should be written in Python and use the unittest framework. Create a test file in the same directory as the code file.
"
- 例: "
編集モードを使用して作成されたテスト ファイルを確認し、ファイルを保存または破棄します。
- 必要に応じて、新しいプロンプトを使用してファイルを更新して、特定のテストを修正または強化できます。
テスト ファイルを保存します。
- 通常、テスト ファイルは、単体テスト用に構成されたプロジェクト内の別の "tests" ディレクトリに保存されます。 オプションは、プロジェクトの構造とテスト フレームワークによって異なります。
テストを実行して、コードの機能がテストを通過することと、機能を確認することを保証します。
必要に応じて、テスト ケースをさらに追加するか、既存のテスト ケースを変更して、テストを調整します。
テストに変更を加えてから、ファイルをもう一度保存します。
エージェント モードを使用して単体テストを作成する
エージェント モードを使用して、単体テスト プロセス内のタスクを自動化できます。 たとえば、エージェント モードを使用して、テスト プロジェクトのスキャフォールディング、テスト ファイルの作成、テストの実行、テスト レポートの生成、単体テストに関連するその他のタスクの実行を行うことができます。 エージェント モードは、プロジェクトをより深く理解する必要がある単体テストを作成するのに最適です。
エージェント モードを使用して単体テストを作成するには、次の手順に従います。
テストするコードを含むファイルを開きます。
チャット ビューを開き、 エージェント モードを使用して新しいチャット セッションを開始します。
エージェント モードでコンテキストを決定します。
エージェント モードでは、コンテキストを指定する必要はありません。 Copilot は、編集する関連するコンテキストとファイルを自動的に決定します。
必要に応じて、[ツール] アイコンを選択して、要求への応答に使用できるツールを構成します。
- 要求への応答に使用するツールを選択できます。 たとえば、 テスト エクスプローラー ツールを選択してテストを実行したり、 ターミナル ツールを選択してコマンドを実行したりできます。
- GitHub Copilot ツールを選択して、Copilot のコード生成機能を使用することもできます。
目的のタスクを定義するプロンプトを入力します。
- 例: "
Ensure that a suitable unit tests project is prepared for the selected code file. Create a test file in the unit test project that includes unit tests for all methods in the selected file. Unit tests should be written in C# and use the xUnit framework. Run the tests to ensure expected results.
"
- 例: "
タスクを実行するエージェント モードの進行状況を監視します。
- ツールの呼び出しとターミナル コマンドを確認します。 エージェント モードが提案するツールの呼び出しとターミナル コマンドを確認または拒否できます。 たとえば、テストを実行するコマンドや、テスト レポートを生成するコマンドを確認できます。
- 必要に応じて、エージェント モードを中断します。 実行しているタスクを停止する場合は、エージェント モードを中断できます。 たとえば、コンテキストを変更する場合や、使用されているツールを変更する場合は、エージェント モードを中断できます。
指定したタスク中にエージェント モードで作成または更新されたファイルを確認し、更新を保持または破棄します。
- 必要に応じて、新しいプロンプトを使用して特定のテストを修正または強化できます。
概要
GitHub Copilot のチャット ビューには、単体テストの作成に使用できる 3 つのモード (Ask、Edit、Agent) が用意されています。 各モードには独自の長所と短所があり、使用するのに最適なモードは、手元の特定のタスクによって異なります。 ask モードは、コード プロジェクト、コーディング トピック、および一般的なテクノロジの概念に関する質問に最適化されています。 編集モードは、コードベース内の複数のファイル間で編集を行う目的で最適化されています。 エージェント モードは、エージェント コーディング ワークフローを開始するために最適化されています。