🚀 在 VS Code 中

使用 C# Dev Kit 進行測試

Visual Studio Code 中的 C# 測試功能由 C# Dev Kit 擴充功能啟用。它是一個輕量型的擴充功能,旨在增強您的 C# 開發體驗。

概觀

此擴充功能支援下列測試架構

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。

若要執行具有程式碼涵蓋率的測試,請依照下列步驟執行

    1. 從活動列開啟測試總管。
    1. 選取並執行具有涵蓋率的測試:選擇您要執行的測試,並以涵蓋率執行它們。
    1. 檢視涵蓋率資料:程式碼涵蓋率資料會自動產生,並與測試結果一起顯示在測試總管中。

如果您已產生涵蓋率報告,並想要在 VS Code 中檢視結果

    1. 使用命令面板:開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並搜尋「測試:顯示涵蓋率」以存取涵蓋率資料。
    1. 檢視編輯器中醒目提示的程式碼涵蓋率
    • 綠色行:表示已測試的程式碼。
    • 紅色行:表示未測試的程式碼。
    1. 測試總管摘要:測試總管提供整體涵蓋率摘要,並允許您探索需要額外測試的特定檔案或方法。

若要改善程式碼的測試涵蓋率

  • 檢查涵蓋率報告 (在測試總管或編輯器中) 以識別以紅色標記的區域,
    表示未測試的程式碼。
  • 建立新的測試以涵蓋報告中醒目提示的未測試區域。
  • 重新執行測試並檢閱更新的涵蓋率,以確保您的程式碼已充分測試。

檢視測試結果

在執行/偵錯測試案例後,相關測試項目的狀態將在編輯器裝飾和測試總管中更新。

View test results

您可以選取堆疊追蹤中的連結以導覽至原始碼位置。

VS Code 測試命令

有許多測試命令 (例如,執行所有測試),可以透過在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中搜尋 Test: 來找到。

Testing command in Command Palette

VS Code 測試設定

有許多特定於測試的 VS Code 設定,可以透過在設定編輯器 (⌘, (Windows、Linux Ctrl+,)) 中搜尋 Testing 來找到。

Testing settings