適用於 .NET 的 GitHub Copilot 測試是 GitHub Copilot Chat 中的一項新功能,已整合到 Visual Studio 中。 此功能可自動為整個專案、解決方案、檔案、類別或成員建立、執行和測試 C# 程式碼。 它專為想要快速引導全面測試覆蓋範圍而無需手動編寫每個測試用例的 C# 開發人員而設計。 GitHub Copilot 測試可以產生 xUnit、NUnit 和 MSTest 測試架構的測試。
與短期的 Copilot 建議不同,適用於 .NET 的 GitHub Copilot 測試提供引導式且持續的體驗,以在整個程式碼庫中產生和管理測試。
先決條件
Visual Studio 2026 測試人員組建
C# 專案
登入 Visual Studio 使用 GitHub 帳戶 並擁有 Copilot 存取權
GitHub Copilot 測試適用於任何作用中的 GitHub Copilot 訂用帳戶,包括個人和企業方案。 雖然某些功能可能透過免費的 Copilot 授權提供,但可能會施加使用限制和令牌節流,特別是對於較大的解決方案或長時間會話。 這些限制由 GitHub 強制執行,可能會影響效能或可用性。
小提示
為了獲得最佳體驗,我們建議使用付費 Copilot 訂閱,以避免潛在的節流並確保一致的存取。
GitHub Copilot 測試可以做什麼
當您啟用此功能時,GitHub Copilot 測試會以數種方式與您的解決方案互動,以產生和驗證測試:
- 讀: Copilot 會分析您的原始程式碼和專案結構,以瞭解內容和相依性。
- 寫: 它會根據其建議在您的解決方案內建立或更新測試檔案。
- 建置:該工具會觸發建置來編譯您的程式碼,並驗證產生的測試是否正確整合。
- 執行: 它執行測試以確認測試通過並提供覆蓋範圍和質量的反饋。
這很重要
Copilot 測試不會在測試產生程式之外修改生產程式碼。 所有變更都會發生在本端開發環境中,而且您保留檢閱、接受或捨棄建議的完整控制權。
為什麼要使用 GitHub Copilot 測試 .NET?
與產生測試 (例如 /tests 命令) 相關的更基本 Copilot 功能相比,適用於 .NET 的 GitHub Copilot 測試提供完整的體驗。 GitHub Copilot for .NET 中的單元測試功能提供下列功能:
- 效率: 自動產生、建置和執行大型或小型專案或解決方案的 C# 單元測試。
- 一致性: 確保測試遵循最佳實踐和專案標準。 測試是在解決方案中的個別測試專案中建立,並使用 xUnit、NUnit 和 MSTest 架構產生。
- 整合: 在 Visual Studio 中無縫工作,利用 Copilot 的 AI 功能。
- 可預測性:Copilot 以 C# 編譯器和語言語義為基礎,以確定性方式產生測試,因此判斷提示和邊緣案例是可預測且類型安全的。
主要功能
- 自動測試生成: 建立單一檔案、單一專案中的多個檔案或整個解決方案的測試。
-
基於命令的交互: 使用支援的命令和參數 (列在 GitHub Copilot 測試中的訊息中
/help)。 - 結構化提示: 目前不支援自由格式提示,以確保可預測且可靠的輸出。
安全性警告
當您第一次執行 .NET 的 GitHub Copilot 測試時,Copilot 會要求您同意在您的電腦上執行 LLM 產生的程式碼。 這可能包括安裝或還原 NuGet 套件以及執行測試等動作。 如果您未給予一般同意,GitHub Copilot 測試會提示您在執行任何此類作業之前明確核准。
謹慎
您的同意會授予 Copilot 在 Visual Studio 會話中以無訊息方式叫用任意命令的能力。 Microsoft 無法保證這些命令的安全性。 您應該只在沙箱環境中啟用此開關,並且應該採取措施來限制該環境可用的權限。 例如,沙箱環境不應該使用雲端連線帳戶登入 Windows,而沙箱環境不應該使用具有非公用存放庫讀取權限或生產存放庫寫入許可權的特殊許可權 GitHub 帳戶登入 Visual Studio。
故障排除
如果您在 Copilot Chat 中沒有看到命令 @test ,請嘗試下列步驟:
驗證您的 Visual Studio 組建。 請確定您正在執行最新的 Visual Studio 測試人員組建,因為這項功能目前僅適用於測試人員。
在 工具 > 選項 > GitHub Copilot 中切換設定。 當您停用然後重新啟用 GitHub Copilot 測試設定時,這會重新整理整合。
如果@test命令未出現在聊天中,且在切換設定後問題仍然存在,請使用 Visual Studio 中的[說明 > 傳送意見反應] 來回報問題。