チャット ビュー モードを使用して単体テストを作成する

完了

Visual Studio Codeのチャット ビューには、単体テストの作成に使用できる 3 つの組み込みエージェント (Ask、Plan、Agent) が用意されています。 各エージェントには独自の長所があり、使用するのに最適なエージェントは、手元の特定のタスクによって異なります。

  • Ask エージェントは、コード プロジェクト、コーディング トピック、および一般的なテクノロジの概念について質問するために最適化されています。
  • Plan エージェントは、コードを記述する前に、構造化されたステップ バイ ステップの実装計画を作成するために最適化されています。
  • エージェントは、エージェントコーディングワークフローを開始するために最適化されています。

Von Bedeutung

エージェントでチャット ビューを使用する場合、GitHub Copilotは 1 つのタスクを完了するために複数の Premium 要求を行う場合があります。 プレミアムリクエストは、ユーザーが開始したプロンプトと、GitHub Copilot がユーザーに代わって実行するフォローアップ アクションによって使用できます。 使用される Premium 要求の合計数は、タスクの複雑さ、関連するステップの数、選択したモデルによって異なります。

Ask エージェントを使用して単体テストを作成する

Ask エージェントを使用してワークスペースを分析し、単体テストを作成できます。 Ask エージェントは、ファイル内の複数の関数またはメソッドのテストを作成する場合や、ファイル全体のテストを作成する場合に便利です。

Ask エージェントを使用して単体テストを作成するには、次の手順に従います。

  1. テストするコードを含むファイルを開きます。

  2. チャット ビューを開き、Ask エージェントを使用して新しいチャット セッションを開始します。

  3. チャット セッションにコンテキストを追加します。

    • チャット セッションにコンテキストを追加するには、Visual Studio Codeのエクスプローラー ビューからチャット ビューにファイルをドラッグ アンド ドロップします。 [ コンテキストの追加] ボタンを使用することもできます。
    • コード エディターで外部ファイルを開いて、ワークスペースに含まれていないリソースを含め、それらを使用して特定のコンテキストを提供できます。 たとえば、共同作成者のガイドラインや連絡先情報を含むマークダウン ファイルを開き、[ コンテキストの追加] ボタンを使用してチャット ビュー コンテキストに追加できます。
    • @workspace チャット変数を使用して、プロンプトの一部としてワークスペースを指定できます。 ワークスペース コンテキストは、ファイル内の複数の関数またはメソッドのテストを作成する場合や、ファイル全体のテストを作成する場合に便利です。
  4. ファイル内のコードの単体テストを求めるプロンプトを入力します。

    • 例: "@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."
  5. 推奨される単体テストを確認し、必要に応じて更新されたプロンプトを使用して結果を絞り込みます。

  6. 推奨される単体テストをテスト ファイルに移動します。

    • たとえば、コード ファイルと同じディレクトリにテスト ファイルを作成し、推奨される単体テストをファイルに挿入します。
    • Ask エージェントを使用して、テスト ファイルの作成後に特定のテストの更新を提案したり、他のGitHub Copilot ツールを使用して更新を支援したりできます。
    • [ エディターで適用 ] ボタンを使用して、推奨される単体テストをコード ファイルに直接適用することもできます。
  7. テスト ファイルを保存します。

    • 通常、テスト ファイルは、単体テスト用に構成されたプロジェクト内の別の "tests" ディレクトリに保存されます。 オプションは、プロジェクトの構造とテスト フレームワークによって異なります。
    • Ask エージェントを使用して、テスト ファイルの作成後に特定のテストの更新を提案したり、他のGitHub Copilot ツールを使用して更新を支援したりできます。
  8. テストを実行して、コードの機能がテストを通過することと、機能を確認することを保証します。

  9. 必要に応じて、テスト ケースをさらに追加するか、既存のテスト ケースを変更して、テストを調整します。

  10. テストに変更を加えてから、ファイルをもう一度保存します。

Plan エージェントを使用して単体テストを計画する

Plan エージェントを使用して、コードを記述する前に単体テストの詳細な実装計画を作成できます。 プラン エージェントは、タスクを包括的に調査し、質問を明確にし、ステップ バイ ステップの計画を作成します。 計画がレビューされ、承認されたら、実装のためにエージェントに渡すことができます。

Plan エージェントを使用して単体テストを計画するには、次の手順に従います。

  1. テストするコードを含むファイルを開きます。

  2. [チャット] ビューを開き、Plan エージェントを使用して新しいチャット セッションを開始します。 エージェントのドロップダウンからプランを選択するか、/planに続けてタスクの説明を入力します。

  3. 作成する単体テストを説明するプロンプトを入力します。

    • 例: "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."
  4. タスクの調査後に Plan エージェントが尋ねる明確な質問に回答します。

    • プラン エージェントは、計画を下書きする前に、あいまいさを解決するための質問を行う場合があります。
  5. 提案されたプランのドラフトをプレビューし、イテレーションのフィードバックを提供します。

    • Plan エージェントは、概要、手順の内訳、テストのための検証手順、および計画中に行われた文書化された決定を提供します。
    • プラン エージェント内で、実装前にプランを調整してください。 繰り返し繰り返して要件を明確にしたり、スコープを調整したり、追加のコンテキストを提供したりできます。
  6. 完了したら、ボタンを使用してプランの実装を開始するか、エディターでプランを開いてさらに確認します。

    • プランを同じチャット セッションに実装するか、バックグラウンドまたはクラウド エージェント セッションを開始して実装に自律的に取り組むことができます。
    • プランの実装を開始するときに、"UI の開始" や "手順 1 と 2 のみ" などの明確な手順を提供できます。

エージェントを使用して単体テストを作成する

エージェントを使用して、単体テスト プロセス内のタスクを自動化できます。 たとえば、エージェントを使用して、テスト プロジェクトのスキャフォールディング、テスト ファイルの作成、テストの実行、テスト レポートの生成、単体テストに関連するその他のタスクの実行を行うことができます。 エージェントは、プロジェクトをより深く理解する必要がある単体テストを作成するのに最適です。

エージェントを使用して単体テストを作成するには、次の手順に従います。

  1. テストするコードを含むファイルを開きます。

  2. チャット ビューを開き、エージェントを使用して新しいチャット セッションを開始 します

  3. エージェントがコンテキストを特定できるようにします。

    エージェントを使用する場合は、コンテキストを指定する必要はありません。 GitHub Copilotは、編集する関連するコンテキストとファイルを自動的に決定します。

  4. 必要に応じて、[ツール] アイコンを選択して、要求への応答に使用できるツールを構成します。

    • 要求への応答に使用するツールを選択できます。 たとえば、 テスト エクスプローラー ツールを選択してテストを実行したり、 ターミナル ツールを選択してコマンドを実行したりできます。
    • GitHub Copilotのコード生成機能を使用するには、GitHub Copilot ツールを選択することもできます。
  5. 目的のタスクを定義するプロンプトを入力します。

    • 例: "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."
  6. タスクを実行するエージェントの進行状況を監視します。

    • ツールの呼び出しとターミナル コマンドを確認します。 エージェントが提案するツールの呼び出しとターミナル コマンドを確認または拒否できます。 たとえば、テストを実行するコマンドや、テスト レポートを生成するコマンドを確認できます。
    • 必要に応じてエージェントを中断します。 エージェントが実行しているタスクを停止する場合は、エージェントを中断できます。 たとえば、コンテキストを変更する場合や、使用されているツールを変更する場合は、エージェントを中断できます。
  7. 指定したタスク中にエージェントが作成または更新したファイルを確認し、更新を保持または破棄します。

    • 必要に応じて、新しいプロンプトを使用して特定のテストを修正または強化できます。

概要

GitHub Copilotのチャット ビューには、単体テストの作成に使用できる 3 つの組み込みエージェント (Ask、Plan、Agent) が用意されています。 各エージェントには独自の長所があり、使用するのに最適なエージェントは、手元の特定のタスクによって異なります。 Ask エージェントは、コード プロジェクト、コーディング トピック、および一般的なテクノロジの概念について質問するために最適化されています。 Plan エージェントは、コードを記述する前に、構造化されたステップ バイ ステップの実装計画を作成するために最適化されています。 エージェントは、エージェントコーディングワークフローを開始するために最適化されています。