使用聊天檢視模式建立單元測試
Visual Studio Code 中的聊天檢視提供三種模式,可用來建立單元測試:Ask、Edit 和 Agent。 每個模式都有自己的優缺點,使用的最佳模式取決於手邊的特定工作。
- 詢問模式已針對詢問程式碼專案、程式代碼主題和一般技術概念的問題進行優化。
- 編輯模式已針對程式碼庫中的多個檔案進行優化。
- 代理程式模式已針對啟動代理程式撰寫工作流程進行優化。
這很重要
當您在代理程式模式中使用聊天檢視時,GitHub Copilot 可能會提出多個進階要求來完成單一工作。 進階要求可以由使用者起始的提示使用,並追蹤 Copilot 代表您採取的動作。 所使用的進階要求總數取決於工作的複雜度、所涉及的步驟數目,以及選取的模型。
使用詢問模式建立單元測試
詢問模式可用來分析工作區,然後建立單元測試。 當您想要在檔案中建立多個函式或方法的測試,或想要建立整個檔案的測試時,詢問模式很有用。
若要使用詢問模式建立單元測試,請遵循下列步驟:
開啟包含您要測試之程式代碼的檔案。
開啟 [聊天] 檢視,並使用詢問模式啟動新的聊天會話。
將上下文新增至聊天會話。
- 您可以將檔案從 Visual Studio Code 的 [總管] 檢視拖放至 [聊天] 檢視,以將內容新增至聊天工作階段。 您也可以使用 [ 新增內容] 按鈕。
- 您可以在程式代碼編輯器中開啟外部檔案,以包含不屬於工作區的資源,並使用它們來提供特定內容。 例如,您可以開啟包含參與者指導方針或聯繫人資訊的 Markdown 檔案,然後使用 [ 新增內容 ] 按鈕將它們新增至聊天檢視內容。
- 您可以使用
@workspace聊天變數來指定工作區作為提示的一部分。 當您想要在檔案中建立多個函式或方法的測試,或想要建立整個檔案的測試時,工作區內容很有用。
輸入提示,要求進行檔案中程式代碼的單元測試。
- 例如:「
@workspace /explain I need to create unit tests for the code in this file. The tests should be written in Python and use the unittest framework.」
- 例如:「
檢視建議的單元測試,並視需要使用更新的提示來精簡結果。
將建議的單元測試移至測試檔案。
- 例如,在與程式代碼檔案相同的目錄中建立測試檔案,然後將建議的單元測試插入檔案中。
- 您可以在建立測試檔案之後,使用詢問模式來建議特定測試的更新,或使用其他 GitHub Copilot 工具來協助更新。
- 您也可以使用 [ 在編輯器中套 用] 按鈕,將建議的單元測試直接套用至程式代碼檔案。
儲存測試檔案。
- 測試檔案通常會儲存至針對單元測試設定之專案中的個別「測試」目錄。 您的選項取決於您項目的結構和測試架構。
- 您可以在建立測試檔案之後,使用詢問模式來建議特定測試的更新,或使用其他 GitHub Copilot 工具來協助更新。
執行測試以確保它們通過並驗證程式碼的功能。
如有必要,請新增更多測試案例或修改現有的測試案例來精簡測試。
對測試進行任何變更後,請再儲存檔案。
使用編輯模式建立單元測試
編輯模式可用來建立單元測試,方法是將內容檔案新增至聊天,然後建立或更新測試檔案。 當您想要在檔案中建立特定函式或方法的測試,或想要建立整個檔案的測試時,編輯模式很有用。
若要使用編輯模式建立單元測試,請遵循下列步驟:
開啟包含您要測試之程式代碼的檔案。
開啟 [聊天] 檢視,並使用編輯模式啟動新的聊天會話。
將上下文新增至聊天會話。
- 聊天參與者無法在編輯模式中使用,因此您無法指定
@workspace為提示的一部分。 不過,您可以使用#codebase並將檔案或資料夾從 Visual Studio Code 的 [總管] 檢視拖放至 [聊天] 檢視,以將內容新增至聊天工作階段。 使用 Visual Studio Code 開啟外部檔案,例如包含參與者指導方針的 Markdown 檔案,然後使用 [ 新增內容 ] 按鈕將它們新增至聊天內容。
- 聊天參與者無法在編輯模式中使用,因此您無法指定
輸入提示以建立所需的單元測試。
- 例如:「
I need to create unit tests for the code in this file. The tests should be written in Python and use the unittest framework. Create a test file in the same directory as the code file.」
- 例如:「
檢閱使用編輯模式建立的測試檔案,然後儲存或捨棄檔案。
- 您可以使用新的提示來更新檔案,以在必要時更正或增強特定測試。
儲存測試檔案。
- 測試檔案通常會儲存至針對單元測試設定之專案中的個別「測試」目錄。 您的選項取決於您項目的結構和測試架構。
執行測試以確保它們通過並驗證程式碼的功能。
如有必要,請新增更多測試案例或修改現有的測試案例來精簡測試。
對測試進行任何變更後,請再儲存檔案。
使用代理程式模式建立單元測試
代理程式模式可用來將單元測試程式內的工作自動化。 例如,您可以使用代理程式模式來建立測試專案、建立測試檔案、執行測試、產生測試報告,或執行與單元測試相關的其他工作。 代理程式模式最適合用來建立需要更深入瞭解專案的單元測試。
若要使用代理程式模式建立單元測試,請遵循下列步驟:
開啟包含您要測試之程式代碼的檔案。
開啟 [聊天] 檢視,並使用 代理程式 模式啟動新的聊天會話。
讓代理程式模式判斷內容。
在代理程式模式中,您不需要指定內容。 Copilot 會自動判斷要編輯的相關內容和檔案。
您可以選擇性地選取 [工具] 圖示,以設定哪些工具可用來回應您的要求。
- 您可以選取您想要用來回應要求的工具。 例如,您可以選取 [ 測試總管 ] 工具來執行測試,或選取 [終端機 ] 工具來執行命令。
- 您也可以選取 GitHub Copilot 工具,以使用 Copilot 的程式代碼產生功能。
輸入一個定義目標任務的提示。
- 例如:「
Ensure that a suitable unit tests project is prepared for the selected code file. Create a test file in the unit test project that includes unit tests for all methods in the selected file. Unit tests should be written in C# and use the xUnit framework. Run the tests to ensure expected results.」
- 例如:「
監視代理程式模式的執行工作進度。
- 確認工具呼叫和命令行命令。 您可以確認或拒絕代理程式模式建議的工具調用和終端機命令。 例如,您可以確認命令來執行測試或命令,以產生測試報告。
- 如有必要,請中斷代理程式模式。 如果您要停止正在執行的工作,您可以中斷代理程式模式。 例如,如果您想要變更內容,或想要變更所使用的工具,則可以中斷代理程式模式。
檢閱代理程式模式在指定工作期間建立或更新的檔案,然後保留或捨棄更新。
- 您可以視需要使用新的提示來更正或增強特定測試。
總結
GitHub Copilot 的聊天檢視提供三種模式,可用來建立單元測試:詢問、編輯和代理程式。 每個模式都有自己的優缺點,使用的最佳模式取決於手邊的特定工作。 詢問模式已針對詢問程式碼專案、程式代碼主題和一般技術概念的問題進行優化。 編輯模式已針對程式碼庫中的多個檔案進行優化。 代理程式模式已針對啟動代理程式撰寫工作流程進行優化。