使用 C# Dev Kit 進行測試
Visual Studio Code 中的 C# 測試功能由 C# Dev Kit 擴充功能啟用。它是一個輕量型的擴充功能,旨在增強您的 C# 開發體驗。
概觀
此擴充功能支援下列測試架構
C# Dev Kit 擴充功能提供下列功能
- 執行/偵錯測試案例
- 檢視測試報告
- 在測試總管中檢視測試
需求
- .NET 6.0 SDK 或更新版本
- Visual Studio Code (1.58.0 或更新版本)
- C# Dev Kit
專案設定
注意:如果您已在專案中設定 C# 測試架構,您可以跳至「功能」章節。
啟用測試並將測試架構套件新增至您的專案
您只需在方案總管中幾個步驟,即可為您的專案啟用測試架構
xUnit
開啟命令面板,然後選取.NET: 新專案..,接著選取xUnit 測試專案,並提供新專案的名稱和位置。這將會建立一個新專案和目錄,其中使用 xUnit 作為測試程式庫,並透過將下列 <PackageReference />
元素新增至專案檔來設定測試執行器。
- Microsoft.NET.Test.Sdk
- xunit
- xunit.runner.visualstudio
- coverlet.collector
從終端機執行下列命令
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
NUnit
開啟命令面板,然後選取.NET: 新專案..,接著選取NUnit3 測試專案,並提供新專案的名稱和位置。這將會建立一個新專案和目錄,其中使用 NUnit 作為測試程式庫,並透過將下列 <PackageReference />
元素新增至專案檔來設定測試執行器。
- Microsoft.NET.Test.Sdk
- nunit
- NUnit3TestAdapter
從終端機執行下列命令
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
MSTest
開啟命令面板,然後選取.NET: 新專案..,接著選取MSTest 測試專案,並提供新專案的名稱和位置。這將會建立一個新專案和目錄,其中使用 MSTest 作為測試程式庫,並透過將下列 <PackageReference />
元素新增至專案檔來設定測試執行器。
- Microsoft.NET.Test.Sdk
- MSTest.TestAdapter
- MSTest.TestFramework
- coverlet.collector
從終端機執行下列命令
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
功能
執行/偵錯測試案例
C# Dev Kit 將在類別和方法定義的左側產生捷徑 (綠色播放按鈕)。若要執行目標測試案例,請選取綠色播放按鈕。您也可以在其上按一下滑鼠右鍵以查看更多選項。
測試總管
測試總管是一個樹狀檢視,用來顯示您工作區中的所有測試案例。您可以選取 Visual Studio Code 左側活動列上的燒杯按鈕來開啟它。您也可以從那裡執行/偵錯您的測試案例,並檢視其測試結果。
C# Dev Kit 中的程式碼涵蓋率
C# Dev Kit 現在透過 VS Code 程式碼涵蓋率 API 支援程式碼涵蓋率。此功能可讓您透過顯示在測試期間執行和未執行的程式碼行數,來衡量測試的有效性。
程式碼涵蓋率是一種指標,可追蹤自動化測試所執行的程式碼庫百分比。它有助於識別未經測試的程式碼區段,並透過確保全面的涵蓋率來提高測試品質。
注意:若要啟用程式碼涵蓋率,請確保您已安裝最新版本的 C# Dev Kit。
若要執行具有程式碼涵蓋率的測試,請依照下列步驟執行
-
- 從活動列開啟測試總管。
-
- 選取並執行具有涵蓋率的測試:選擇您要執行的測試,並以涵蓋率執行它們。
-
- 檢視涵蓋率資料:程式碼涵蓋率資料會自動產生,並與測試結果一起顯示在測試總管中。
如果您已產生涵蓋率報告,並想要在 VS Code 中檢視結果
-
- 使用命令面板:開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並搜尋「測試:顯示涵蓋率」以存取涵蓋率資料。
-
- 檢視編輯器中醒目提示的程式碼涵蓋率
- 綠色行:表示已測試的程式碼。
- 紅色行:表示未測試的程式碼。
-
- 測試總管摘要:測試總管提供整體涵蓋率摘要,並允許您探索需要額外測試的特定檔案或方法。
若要改善程式碼的測試涵蓋率
- 檢查涵蓋率報告 (在測試總管或編輯器中) 以識別以紅色標記的區域,
表示未測試的程式碼。 - 建立新的測試以涵蓋報告中醒目提示的未測試區域。
- 重新執行測試並檢閱更新的涵蓋率,以確保您的程式碼已充分測試。
檢視測試結果
在執行/偵錯測試案例後,相關測試項目的狀態將在編輯器裝飾和測試總管中更新。
您可以選取堆疊追蹤中的連結以導覽至原始碼位置。
VS Code 測試命令
有許多測試命令 (例如,執行所有測試),可以透過在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中搜尋 Test: 來找到。
VS Code 測試設定
有許多特定於測試的 VS Code 設定,可以透過在設定編輯器 (⌘, (Windows、Linux Ctrl+,)) 中搜尋 Testing 來找到。