用幽靈文字延伸測試並修正失敗的測試
當您的測試專案包含幾個測試案例後,GitHub Copilot 可以協助您擴展覆蓋範圍並解決失敗問題,而不必離開 Visual Studio Code。 幽靈文字建議會在你正在編輯的檔案中新增額外的測試案例,而測試總管和 /fixTestFailure 斜線指令則可協助你診斷及修正未通過的測試。 這些功能合起來,為你在聊天視窗中啟動的單元測試工作流程封閉了循環。
透過幽靈文字建議延長測試覆蓋範圍
Ghost text 是當你在編輯器中輸入時出現的行內程式碼補全。 當測試檔已經包含幾個測試案例時,GitHub Copilot 會利用現有模式建議類似的測試案例以支援其他情境。 這是在初步檢查完成後,延長保險覆蓋範圍最快的方法。
要擴充帶有幽靈文字的測試檔案:
開啟一個包含至少一到兩個完整測試案例的測試檔案。
將游標置於最後一個測試案例的末尾,按下 Enter 鍵即可開始新一行。
開始輸入新的測試方法,或撰寫描述性註解,例如
// Test that ProcessOrder throws when the order total is negative。GitHub Copilot 會根據周圍程式碼、匯入資料及現有測試模式,顯示一個幽靈文字建議,完成測試方法。
按 Tab 鍵接受建議,按 Esc 鍵則是拒絕。
視需要細化被接受的建議。 你可以繼續打字延長測試時間,或按下 Enter 鍵觸發下一個幽靈文字建議。
幽靈文字在以下情況下效果最佳:
- 測試檔已經顯示你想GitHub Copilot遵循的模式(例如,Arrange-Act-Assert 結構或參數化測試屬性)。
- 被測試的方法會透過
using指令或匯入命名空間在檔案中被引用。 - 你的留言清楚說明了你想測試的情境。
Tip
用幽靈文字快速為現有測試類別加入邊緣案例。 若需要較大規模的工作,例如建立全新的測試類別,請回到聊天視窗,並使用 Ask、Plan 或 Agent 代理。
從測試檔案總管修正測試失敗的問題
當測試失敗時,測試總管會提供一鍵開啟 GitHub Copilot 的入口。
你可以從測試檔案總管或測試方法旁的綠色播放按鈕執行測試。
在 Test Explorer 中,將滑鼠游標移至失敗的測試上方。
選擇 「修復測試失敗 」按鈕(閃爍圖示)。
GitHub Copilot 會開啟一個聊天會話,將失敗的測試及其輸出作為上下文附加,並提出修正方案。
檢視建議的修正方案。
建議可以根據故障原因更新應用程式程式碼、測試程式碼,或兩者同時更新。
套用或捨棄建議。
用 保留 來套用建議的修改,或用 復原 功能丟棄它們。 請重跑測試以確認修復方法。
使用 /fixTestFailure 修復失敗的測試
你也可以從聊天視窗開始修正流程,這對於想附加額外上下文或同時處理多個失敗測試時非常有用。
開啟 [聊天] 檢視。
輸入
/fixTestFailure斜線指令。可選擇附加額外上下文,如相關原始檔案或近期終端輸出。
請依照 GitHub Copilot 的建議修復失敗的測試,然後重跑測試以確認修復。
讓代理程式自動監控並修正故障
當你使用 Agent 執行測試時,它會監控測試輸出,識別失敗,並自動嘗試修復並重跑測試。 這在你搭建新測試專案或同時影響多個測試的大型變更時非常有用。
使用代理程式進行自動測試維護:
打開聊天視窗,從代理人選擇器中選擇 代理人 。
提供包含執行測試的提示,例如:
Run the xUnit tests in the Calculator.Tests project. If any tests fail, propose and apply fixes, then rerun the tests until they pass.確認或拒絕代理所建議的工具呼叫與終端指令。
在接受變更前,請先審查代理人所套用的變更。
選擇適合工作的工具
請參考以下指引決定要使用哪個功能:
- 當你想在已經顯示該模式的現有測試檔中加入更多測試案例時,幽靈文字是最佳選擇。
- 在測試總管中修正測試失敗最適合在單一測試失敗時使用,並且可讓你快速進行聚焦的修正。
-
/fixTestFailure在「聊天」檢視中 最適合用於你想加入更多背景資訊或逐一排查多個失敗情況時。 - 由代理程式驅動的測試執行 最適合用在您想讓 GitHub Copilot 在單一工作階段中執行測試、診斷失敗原因,並跨多個檔案套用修正時。
這些工具共同完成單元測試的工作流程。 聊天視窗、計畫代理和代理會產生初始測試;幽靈文字補充額外報導;而修正-測試-失敗功能則能隨著程式碼演進,讓套件保持綠色。