使用 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: New Project...,然後選擇 xUnit Test Project 併為新專案提供名稱和位置。這將建立一個使用 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: New Project...,然後選擇 NUnit3 Test Project 併為新專案提供名稱和位置。這將建立一個使用 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: New Project...,然後選擇 MSTest Test Project 併為新專案提供名稱和位置。這將建立一個使用 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]
功能
執行/除錯測試用例
編寫測試用例後,您需要對測試專案執行生成,以便將它們識別為測試。開啟命令面板並選擇 .NET: Build。這將生成您的專案。
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))並搜尋“Test: Show Coverage”以訪問覆蓋率資料。
-
- 在編輯器中檢視高亮顯示的程式碼覆蓋率
- 綠線:表示已測試的程式碼。
- 紅線:表示未經測試的程式碼。
-
- 測試資源管理器摘要:測試資源管理器提供總體覆蓋率摘要,並允許您瀏覽需要額外測試的特定檔案或方法。
要提高程式碼的測試覆蓋率:
- 檢查覆蓋率報告(在測試資源管理器或編輯器中)以識別標記為紅色的區域,這些區域表示未經測試的程式碼。
- 建立新測試以覆蓋報告中突出顯示的未經測試的區域。
- 重新執行測試並檢視更新的覆蓋率,以確保您的程式碼經過充分測試。
檢視測試結果
執行/除錯測試用例後,相關測試項的狀態將在編輯器裝飾和測試資源管理器中更新。
您可以選擇堆疊跟蹤中的連結以導航到源位置。
VS Code 測試命令
在命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 中搜索 Test: 可以找到一些測試命令(例如 Run All Tests)。
VS Code 測試設定
在設定編輯器 (⌘, (Windows, Linux Ctrl+,)) 中搜索 Testing 可以找到特定於測試的 VS Code 設定。