Visual Studio Codeで学ぶ!GitHub Copilot入門
第7回プログラムができたらGitHub Copilotにテスト用コードを作成させよう
Visual Studio Codeでのテストコードの実行方法も解説
2026年10月14日 12:13
この記事はインプレス刊『Visual Studio Codeで学ぶ!GitHub Copilot入門』(山田 裕進 著)の一部を編集・転載しています。(編集部)
コードを開発したあとは、テストが必要ですね。GitHub Copilotなら、単体テストなどのテストコードもすばやく作成することが可能です。
テストの準備
ここでは、以下の条件でワークスペースが準備されているものとします。
- Python仮想環境を作成([F1]キー→[Python: 環境の作成…]を選択→[Venv]を選択→Pythonインタプリターを選択)
- ターミナルで「pip install pytest」コマンドを実行することでpytestをインストール
- 「app.py」と「test_app.py」を作成
「app.py」の内容は、以下の通りです。
from datetime import datetime
# 指定された年、月、日が有効な日付かどうかを判定します。
def is_valid_date(year, month, day):
try:
datetime(year, month, day)
return True
except ValueError:
return False
なお「test_app.py」は空のファイルとします。それでは、この関数のテストコードを作成してみましょう。
スマートアクションを使用したテストコードの作成
(編集部注:執筆時点ではスマートアクションでもテストコードを生成できましたが、現在はできなくなっています)
スマートアクションを使用して、テストコードを生成できます。
まずは関数を右クリックして[コードを生成する]→[テストを生成する]の順にクリックします。このとき、使用するテストフレームワークの構成の承諾が求められる場合があります。その際は、[承諾する]をクリックして進めます。
また、テストフレームワークの選択が求められる場合があります。 テストフレームワーク とはテストの記述と実行を支援するしくみで、Pythonではよく「pytest」が使用されます。ここでは[pytest]をクリックします。
さらに、テストコード配置場所のフォルダーの選択が求められる場合があります。ここでは[.]をクリックします。
すると「test_app.py」にテストコードが生成されます。コードを受け入れるには、[保持]をクリックします。そしてファイルを保存しましょう。
テストは、ターミナルから「pytest」コマンドで起動できます。または、VS Code画面左の[テスト](三角フラスコのアイコン)をクリックし、[テストの実行]をクリックします
pytest
チャットビューを使用したテストコードの生成
チャットビューを使用してテストコードを生成することも可能です。この場合、EditエージェントやAgentを使用すると、生成されたテストコードが直接適切なファイルへと出力されるので便利です。
たとえば、「app.py」を開いた状態でチャットビューを開き、EditエージェントかAgentに切り替えます。そして、プロンプトを入力します。以下のように、詳細な指示を与えることができます。
正常系(有効な日付)と異常系(無効な日付)の両方をカバーするpytestテストコードを生成。
テストケースには、うるう年や月・日の範囲外の値も含めること。
なお、このプロンプトには、どの関数に対するテストコードを生成するのか、という指示が含まれませんが、問題ありません。 現在開いているファイルや、そのファイル内の選択された行が、コンテキストとして自動的にプロンプトに追加されます。 GitHub Copilotはそれに対するテストコードを生成します。
生成されたテストコードを確認したら、[保持]をクリックして確定します。
なお、テストコードの実行方法は先ほど説明した通りです。
実際のシステム開発におけるテスト例
実際のシステム開発においては、なんらかの業務ルール(ビジネスロジック)が仕様書で定義されており、その仕様に沿ってコードを書きます。またそのコードを、あらかじめ定義されたテスト仕様書に沿ってテストします。このような場合は、どうやってGitHub Copilotでテストを生成するのでしょうか?
たとえば、スマートフォンの料金計算を行うシステムを開発中だとします。あるプランでは以下のように料金が定義されているとしましょう。
- 基本料金:1,500円/月
- 通話:1回10分まで無料、10分を超えた場合は10円/30秒
- データ通信:20GB/月まで無料、1GBごとに300円
この料金を計算する関数calc_fee(call_seconds_list, data_gb)があるとします。この関数は、通話時間(秒のリスト)とデータ通信量(GB)を引数に取り、合計料金を返します。
この関数のテストを行うためのテスト仕様書は、たとえば以下のようになります。
| テスト ケースNo | call_seconds_list 通話時間 (秒のリスト) | data_gb データ通信量(GB) | fee料金 | 計算詳細 |
|---|---|---|---|---|
| 1 | [] | 20 | 1,500円 | 基本料金のみ |
| 2 | [600] | 10 | 1,500円 | 通話・データともに無料枠内 |
| 3 | [900] | 20 | 1,600円 | 基本料金1,500円+通話超過100円 (5分=300秒→10円×10) |
| 4 | [700, 1200] | 25 | 3,240円 | 1回目:100秒超過→40円 2回目:600秒超過→200円 データ:5GB超過→1,500円 合計:1,500+40+200+1,500 |
| 5 | [] | 23 | 2,400円 | データ3GB超過→3GB分900円 合計:1,500+900 |
実際の開発においては、このようなテスト仕様書やテストケースはWordファイルやExcelファイルに記載されることが多いですね。しかし、GitHub Copilotは2026年1月時点では、標準機能ではWordファイルやExcelファイルを読み取ることはできません。そのため、GitHub Copilotでテストコードを生成するには、 テスト仕様書をなんらかの方法でMarkdownやCSVなどのテキスト形式に変換するか、初めからテキスト形式で作成しておく必要があります。 Markdownとは、 文書構造や装飾を指定できるテキスト記法のことです。
以下は、Markdownで作成したテスト仕様書の例です。
そして、テストコードの生成の際に、コンテキストとしてこのファイルを与えます。たとえばチャットビューにドラッグ&ドロップでこのファイルを添付します。すると、GitHub Copilotは、与えられたテスト仕様書に従って、テストを生成できます。
- 【価格】3,080円
- 【発売日】2026年2月25日
- 【ページ数】272
- 【著者】山田 裕進 著
- 【目次】
Chapter 1:GitHub Copilotの全体像とセットアップ
Chapter 2:「コード提案」の利用方法
Chapter 3:「インラインチャット」の利用方法
Chapter 4:チャットビューの利用方法
Chapter 5:GitHub Copilotを活用したソフトウェア開発
Chapter 6:GitHub Copilotのカスタマイズ
Chapter 7:GitHubのWebサイト上でのGitHub Copilotの利用
Chapter 8:モバイル端末やターミナルでのGitHub Copilotの利用
Appendix




























![1冊ですべて身につくHTML & CSSとWebデザイン入門講座[第2版] 製品画像:5位](https://m.media-amazon.com/images/I/51skMJ-OVcL._SL160_.jpg)




