🚀 在 VS Code 中

使用 C# 開發套件進行測試

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

概觀

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

C# 開發套件擴充功能提供下列功能

  • 執行/偵錯測試案例
  • 檢視測試報告
  • 在測試總管中檢視測試

需求

專案設定

注意:如果您已在專案中設定 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]

功能

執行/偵錯測試案例

撰寫測試案例後,您需要建置測試專案,才能將其辨識為測試。開啟命令面板並選取.NET: 建置。這將建置您的專案。

C# 開發套件會在類別和方法定義的左側產生捷徑 (綠色播放按鈕)。若要執行目標測試案例,請選取綠色播放按鈕。您也可以在其上按一下滑鼠右鍵以查看更多選項。

測試總管

測試總管是一個樹狀檢視,用於顯示工作區中的所有測試案例。您可以選取 Visual Studio Code 左側活動列上的燒杯按鈕來開啟它。您也可以從那裡執行/偵錯您的測試案例並檢視其測試結果。如果您尚未建置專案,請選取重新整理測試按鈕以執行建置並探索您的所有測試。

C# 開發套件中的程式碼涵蓋率

C# 開發套件現在透過 VS Code 程式碼涵蓋率 API 支援程式碼涵蓋率。此功能可讓您透過顯示測試期間執行的程式碼行和未執行的程式碼行,來評估測試的有效性。

程式碼涵蓋率是一個指標,可追蹤自動化測試執行的程式碼庫百分比。它有助於識別未經測試的程式碼區段,並透過確保全面的涵蓋率來提高測試品質。

注意:若要啟用程式碼涵蓋率,請確保您已安裝最新版本的 C# 開發套件。

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

    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