使用 C# Dev Kit 進行測試

Visual Studio Code 中的 C# 測試功能是由 C# Dev Kit 擴充功能所啟用。這是一個輕量級的擴充功能,旨在提升您的 C# 開發體驗。

總覽

此延伸模組支援以下測試框架:

C# Dev Kit 擴充功能提供下列功能

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

必要條件

專案設定

注意:如果您已經在專案中設定好 C# 測試框架,可以直接跳至「功能」章節。

啟用測試並將測試框架套件新增至您的專案

您只需在「方案總管」(Solution Explorer) 中執行幾個步驟,即可為您的專案啟用測試框架。

xUnit

開啟「命令面板」(Command Palette) 並選擇 .NET: New Project..,然後選擇 xUnit Test Project,並為新專案提供名稱與位置。這將會建立一個新的專案與目錄,使用 xUnit 作為測試庫,並透過在專案檔案中新增下列 <PackageReference /> 元素來設定測試執行器。

  • Microsoft.NET.Test.Sdk
  • xunit
  • xunit.runner.visualstudio
  • coverlet.collector

從終端機 (Terminal) 執行下列指令

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

從終端機 (Terminal) 執行下列指令

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

從終端機 (Terminal) 執行下列指令

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

功能

執行/偵錯測試案例

撰寫完測試案例後,您需要建置測試專案,以便讓系統識別出這些測試。開啟「命令面板」並選擇 .NET: Build。這將會建置您的專案。

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

測試總管 (Test Explorer)

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

C# Dev Kit 中的程式碼涵蓋率

C# Dev Kit 現已透過 VS Code 程式碼涵蓋率 API 支援程式碼涵蓋率。此功能可透過顯示測試期間哪些程式碼行已執行、哪些未執行,協助您衡量測試的有效性。

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

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

若要以程式碼涵蓋率執行測試,請按照下列步驟操作:

    1. 從活動列開啟「測試總管」。
    1. 選擇並執行您的測試(包含涵蓋率):選擇您要執行的測試,並以涵蓋率模式執行它們。
    1. 檢視涵蓋率資料:程式碼涵蓋率資料會自動產生,並顯示在「測試總管」中的測試結果旁邊。

如果您已經產生涵蓋率報告,並希望在 VS Code 中查看結果:

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

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

  • 檢查涵蓋率報告(在「測試總管」或編輯器中),以找出標記為紅色的區域,這代表未經測試的程式碼。
  • 建立新的測試來涵蓋報告中標記的未測試區域。
  • 重新執行測試並檢視更新後的涵蓋率,以確保您的程式碼已獲得充分測試。

檢視測試結果

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

View test results

您可以選取堆疊追蹤 (stack trace) 中的連結來導覽至原始程式碼位置。

VS Code 測試指令

您可以透過在「命令面板」中搜尋 Test: 來找到各種測試指令(例如 Run All Tests,執行所有測試)(⇧⌘P (Windows, Linux Ctrl+Shift+P))。

Testing command in Command Palette

VS Code 測試設定

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

Testing settings

© . This site is unofficial and not affiliated with Microsoft.