檢視 Visual Studio Code 對單元測試的支援
在你能用 GitHub Copilot 產生單元測試之前,你的專案需要一個可運作的測試框架,以及在 Visual Studio Code 內執行測試的方法。 Visual Studio Code、.NET SDK 和 C# Dev Kit 擴充功能提供單元測試的環境,而 GitHub Copilot 則專注於產生和優化測試程式碼。 了解底層環境會讓 GitHub Copilot 的工作流程更容易理解。
本單元將探討支援單元測試的 Visual Studio Code 功能與 C# 工具。 後續單元將聚焦於 GitHub Copilot 如何生成並維護在此環境中執行的測試程式碼。
Visual Studio Code 對單元測試的支援
要在 Visual Studio Code 中建立並執行 C# 單元測試,你需要以下資源:
- .NET 8.0 SDK 或更新版本。
- Visual Studio Code 的 C# 開發套件擴充功能。
- 已新增至專案的測試架構套件。
單元測試的 C# 開發套件支援
C# 開發套件擴充功能提供了你在本模組中使用的測試功能:
- 測試總管:一個樹狀檢視,顯示工作區中所有測試案例。 你可以選取活動列上的燒杯圖示來開啟測試總管。
- 執行/除錯測試案例:在編輯器中,每個測試類別和方法旁邊會出現綠色播放按鈕。 右鍵點擊播放按鈕可查看更多選項。
- 查看測試結果:測試執行結束後,結果會反映在編輯器裝飾及測試檔案總管中。 在堆疊追蹤中選擇連結可導向來源位置。
-
測試指令:這
Test: Run All Tests類指令可在指令面板中使用。 搜尋Test:以查看完整清單。 -
測試設定:控制測試發現與執行時行為的設定可在設定編輯器中取得。 搜尋
Testing以查看可用的選項。
C# 開發套件支援下列測試架構:
- xUnit
- NUnit
- MSTest
使用 Command Palette 建立一個測試專案
Visual Studio Code 中的指令調色盤提供了建立使用支援框架測試專案的最簡單方法。 您可以透過下列方式開啟命令選擇區:
- 按 Ctrl + Shift + P 鍵(Windows/Linux)或 Cmd + Shift + P macOS 按。
- 打開 檢視 選單,然後選擇 指令面板。
- 打開方案總管檢視,右鍵點擊解決方案資料夾,然後選擇
New Project 。 此選項會開啟指令面板,並預先選取 .NET: New Project... 命令。
以下章節將說明如何為每個支援框架建立測試專案。
xUnit
打開指令面板,選擇 .NET:新Project...,選擇 xUnit Test Project,然後為新project提供名稱與位置。 此指令建立一個專案,使用 xUnit 作為測試函式庫,並透過在專案檔案中加入以下 <PackageReference /> 元素來配置測試執行器:
Microsoft.NET.Test.SdkxUnitxunit.runner.visualstudiocoverlet.collector
從整合的終端機中,你可以將測試專案的參考資料加入測試中的專案:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
NUnit
打開指令面板,選擇 .NET:新Project...,選擇 NUnit3 測試 Project,然後提供新project的名稱與位置。 此指令建立一個專案,使用 NUnit 作為測試函式庫,並在專案檔案中新增以下 <PackageReference /> 元素:
Microsoft.NET.Test.SdkNUnitNUnit3TestAdapter
從終端機新增受測專案的參考:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
MSTest
打開指令面板,選擇 .NET:新Project...,選擇MSTest Test Project,然後提供新project的名稱與地點。 此指令會在專案檔案中新增以下 <PackageReference /> 元素:
Microsoft.NET.Test.SdkMSTest.TestAdapterMSTest.TestFrameworkcoverlet.collector
從終端機新增受測專案的參考:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
在 Visual Studio Code 中執行和管理單元測試
在測試專案存在後,Visual Studio Code 和 C# 開發套件提供多種執行和管理測試的方法:
- 從編輯器執行/除錯:選擇類別或方法旁的綠色播放按鈕來執行該目標。 以滑鼠右鍵按一下執行按鈕,即可看到例如 執行測試 和 偵錯測試 等選項。
- 測試總管:從樹狀檢視中執行或除錯個別測試、群組或整個套件。 每題旁會出現測試結果,包括通過/不通過圖示和持續時間。
- 查看測試結果:編輯器裝飾與測試總管都會反映每次測試執行後的狀態。 在堆疊追蹤中點選連結,即可跳至發生錯誤的程式碼行。
-
測試指令:使用像
Test: Run All Tests、Test: Debug Failed Tests、 以及Test: Show Output指令面板中的指令。 -
測試設定:在設定編輯器中搜尋
Testing,以設定儲存時自動執行或測試結果的格式等行為。
使用 GitHub Copilot 的單元測試工作流程
當你將 Visual Studio Code 與 GitHub Copilot 結合時,單元測試流程可分為三個階段:
- 設定環境:使用 Visual Studio Code、.NET SDK 和 C# 開發套件來建立測試專案,並參考受測專案。 你已完成此單元中的這個階段。
- 產生測試程式碼:在聊天視窗中使用GitHub Copilot來產生應用程式程式碼的單元測試。 接下來的單元將涵蓋此階段。
- Run and maintain tests:使用 Test Explorer 和 C# Dev Kit 執行測試,然後用 GitHub Copilot 擴展覆蓋範圍並修正失敗的測試。
其餘單元則聚焦於支援第 2 和第 3 階段的 GitHub Copilot 工具。