使用 GitHub Copilot 進行測試

編寫與維護測試是軟體開發中至關重要但往往耗時的部分。GitHub Copilot 透過協助您在 Visual Studio Code 中更有效率地編寫、偵錯及修復測試,簡化了此流程。本文將說明如何運用 Copilot 的測試功能來改善您的測試工作流程,並提高專案的測試覆蓋率。

Copilot 可協助處理下列測試任務

  • 設定測試框架:協助您為專案及程式語言配置合適的測試框架與 VS Code 擴充功能。
  • 生成測試程式碼:建立涵蓋應用程式程式碼的單元測試、整合測試以及端對端測試。
  • 處理邊緣案例:生成全面的測試套件,以涵蓋邊緣案例與錯誤條件。
  • 修復失敗的測試:針對測試失敗提供修復建議。
  • 保持一致性:個人化 Copilot,使其生成的測試符合您專案的編碼規範。
提示

如果您尚未擁有 Copilot 訂閱,可以透過註冊 Copilot 免費方案來免費使用 Copilot,並獲得每月一定額度的行內建議與 AI 點數。

重要

自 2026 年 4 月 20 日起,Copilot Pro、Copilot Pro+、Max 及學生方案的新註冊將暫時暫停。

設定您的測試框架

為了加速您的測試工作流程,Copilot 可以協助設定專案所需的測試框架與 VS Code 擴充功能。Copilot 會根據您的專案類型建議合適的測試框架。

  1. 開啟聊天檢視 (⌃⌘I (Windows、Linux Ctrl+Alt+I))。
  2. 在聊天輸入欄位中輸入 /setupTests 指令。
  3. 依照 Copilot 的指引來配置您的專案。

使用 Copilot 編寫測試

Copilot 可以透過生成涵蓋程式碼庫的測試程式碼,協助您為應用程式編寫測試。這包括單元測試、端對端測試以及針對邊緣案例的測試。

使用聊天提示詞 (Chat prompts)

  1. 開啟您的應用程式程式碼檔案。

  2. 開啟以下其中一個檢視畫面

    • 聊天檢視 (Chat view) (⌃⌘I (Windows, Linux Ctrl+Alt+I))
    • 行內聊天 (Inline Chat) (⌘I (Windows, Linux Ctrl+I))
  3. 輸入類似以下的提示詞

    • "Generate tests for this code"(為此程式碼生成測試)
    • "Write unit tests including edge cases"(編寫包含邊緣案例的單元測試)
    • "Create integration tests for this module"(為此模組建立整合測試)

在 GitHub 文件中獲取更多關於使用 GitHub Copilot 編寫測試的指引。

使用編輯器智慧動作

若要直接為應用程式程式碼生成測試而無需輸入提示詞,您可以使用編輯器的智慧動作。

  1. 開啟您的應用程式程式碼檔案。

  2. 選擇您想要測試的程式碼(選填)。

  3. 按一下滑鼠右鍵並選擇 Generate Code(生成程式碼)> Generate Tests(生成測試)。

    Copilot 將會在現有的測試檔案中生成測試程式碼,如果檔案不存在,則會建立一個新的測試檔案。

  4. 若有需要,可在行內聊天 (Inline Chat) 提示詞中提供額外上下文,以精煉生成的測試內容。

修復失敗的測試

Copilot 與 VS Code 中的「測試總管」(Test Explorer) 整合,並可協助修復失敗的測試。

  1. 在測試總管中,將滑鼠游標懸停在失敗的測試上
  2. 選擇 Fix Test Failure(修復測試失敗)按鈕(閃亮圖示)
  3. 審閱並套用 Copilot 建議的修復方案

或者,您也可以

  1. 開啟聊天檢視
  2. 輸入 /fixTestFailure 指令
  3. 依照 Copilot 的建議來修復測試
提示

當使用 代理程式 (Agents) 時,該代理程式會在執行測試時監控測試輸出,並自動嘗試修復並重新執行失敗的測試。

個人化測試生成

如果您的組織有特定的測試要求,您可以自訂 Copilot 生成測試的方式,以確保它們符合您的標準。您可以透過提供自訂說明來個人化 Copilot 生成測試的方式。例如

  • 指定偏好的測試框架
  • 定義測試的命名規範
  • 設定程式碼結構偏好
  • 要求特定的測試模式或方法論

獲取更多關於個人化 Copilot 測試生成的資訊。

提升測試生成品質的建議

若要在使用 Copilot 生成測試時獲得最佳結果,請遵循以下建議

  • 在提示詞中提供關於您偏好測試框架的上下文
  • 指定您需要的測試類型(單元測試、整合測試、端對端測試)
  • 要求特定的測試案例或邊緣案例
  • 要求測試符合您專案的編碼標準

後續步驟

© . This site is unofficial and not affiliated with Microsoft.