🛠️

【VS Codeで体験】Gemini Code Assist活用術③:テスト失敗から始める!AIでバグ修正する

に公開

はじめに

このシリーズ最終回では、開発者の生産性向上に直結する**「AIによるバグ修正」**のデモを行います。

今回は**「テストの失敗(FAIL)」からスタートし、Gemini Code Assist(GCA)に修正を依頼することで、「テスト成功(PASS)」**に導くという、AI時代の実践的な開発サイクルを体験します。

🛠️ ステップ 1: 機能の追加とテストケースの更新(意図的なバグの仕込み)

まずは、機能の追加テストの更新という一連の作業を、GCAにまとめて依頼します。このとき、GCAはコードを「優等生」にしようとするため、今回はあえて**誤ったコード(バグ)**を追加させる指示を出すことで、テストの失敗を確実に出るようにします。

  1. 指示の入力(新機能の追加とテストの更新):チャットパネルに、以下の指示をまとめて入力します。

    指示:

    @workspace
    calculator.py に引き算を行うsubtract関数を追加し、そのテストケースも test_calculator.py に追加してください。ただし、subtract関数の処理は「return a + b」として、意図的にバグを入れてください。
    

    ポイント: 「バグを入れてください」と明確にAIに指示することで、後のテスト失敗を確定させます。

  2. 提案の確認と適用
    GCAから、calculator.pytest_calculator.pyの両ファイルを更新する提案が提示されます。内容を確認し、「Accept」をクリックしてファイルを更新します。


🚨 ステップ 2: テストの実行と失敗(FAIL)の確認

バグが仕込まれた状態でテストを実行し、テストが失敗する様子を確認します。

  1. 実行指示の入力:チャットパネルに、テスト実行コマンドを再度指示します。

    指示:

    python3 の unittest モジュールを使って、test_calculator.py を実行してください。
    
  2. 実行結果の確認
    実行結果に FAIL が表示され、subtract関数のテストが失敗したことが明確に示されます。


💡 ステップ 3: AIにバグ修正とテスト合格を依頼する

失敗したテスト結果をGeminiに提示し、バグの修正を依頼します。

  1. 修正依頼の入力:チャットパネルに、以下の指示を入力します。

    指示:

    subtract関数のテストが失敗しました。このテストが合格するように、calculator.py のコードを修正してください。
    

    ポイント: **「テストが合格するように」**と依頼することで、AIはテストファイルの内容を参考に、修正案を提示します。

  2. 提案の確認と適用
    GCAがsubtract関数を**正しいコード(return a - b)**に修正するDiffを提示します。確認後、「Accept」をクリックしてコードを修正します。


✅ ステップ 4: 最終確認(FAILからPASSへ)

修正が正しく行われたことを確認するため、再度テストを実行します。

  1. 再実行指示

    もう一度、python3 の unittest モジュールを使って、test_calculator.py を実行してください。
    
  2. 実行結果の確認
    テストがすべてOK(PASS)になったことを確認します。これで、「テスト失敗」から「テスト成功」へと、AIの力で開発サイクルが正しく回ったことが証明されます。


✨ まとめ:AIを開発サイクルに組み込む

  • テスト駆動のバグ修正: AIが失敗したテストを正確に分析し、修正案を提示することで、FAIL→PASSというプロのフローを体験できました。
  • 効率の最大化: 機能追加、バグ修正、テストの検証という一連の作業を、VS Codeのチャットパネルから離れることなく完結できました。

参考サイト: ![Google CLI 公式サイト] (https://codeassist.google)

関連記事
【VS Codeで体験】Gemini Code Assist活用術①ローカルファイルをリファクタリングする手順
【VS Codeで体験】Gemini Code Assist活用術②:バグを見逃さない!単体テストを自動生成する手順
【VS Codeで体験】Gemini Code Assist活用術④デモで学ぶ実践的な注意点

Discussion