共用方式為


Visual Studio 中測試工具的概觀

Visual Studio 測試工具可協助您和小組開發並維持高標準的程式代碼卓越。

備註

所有 Visual Studio 版本都提供單元測試。 其他測試工具,例如 Live Unit Testing 和 IntelliTest,僅適用於 Visual Studio Enterprise 版本。 如需版本的詳細資訊,請參閱 比較Visual Studio IDE

測試總管

測試總管 視窗可協助開發人員建立、管理及執行單元測試。 您可以使用Microsoft單元測試架構或數個第三方和開放原始碼架構的其中一個。

Visual Studio 測試總管 16.2

Visual Studio 也是可延伸的,並支持第三方單元測試適配器,例如 NUnit 和 xUnit.net。 此外,程式代碼複製功能可藉由協助您識別可能適合常見 Bug 修正或重構的語意類似程式代碼區塊,來提供高品質的軟體。

第三方測試整合

Live Unit Testing

Live Unit Testing 會在背景自動執行單元測試,並以圖形方式在 Visual Studio 程式代碼編輯器中顯示程式碼涵蓋範圍和測試結果。

備註

即時單元測試僅適用於 Enterprise 版本,且僅支援 .NET 程式代碼。

產生測驗的 AI 工具

從 Visual Studio 2026 Insiders 版本開始,你可以使用 GitHub Copilot testing for .NET 自動產生單元測試。 GitHub Copilot 的 .NET 測試不僅產生測試,還會除錯測試,並在 Test Explorer 中執行。 更多資訊請參閱 GitHub Copilot 對 .NET 的測試概述。 這是產生測試的推薦方法。

或者,你也可以用 Copilot /tests slash 指令從程式碼產生單元測試。 例如,您可以鍵入 /tests using NUnit Framework 以產生 NUnit 測試。 如需詳細資訊,請參閱 在 Copilot Chat 中使用斜線命令

產生測驗的 AI 工具

你可以用 Copilot /tests slash 指令從程式碼產生單元測試。 例如,您可以鍵入 /tests using NUnit Framework 以產生 NUnit 測試。 如需詳細資訊,請參閱 在 Copilot Chat 中使用斜線命令

程式碼涵蓋範圍

程式代碼涵蓋範圍 會決定專案程式代碼的實際測試比例,例如單元測試。 若要有效防範 Bug,您的測試應該執行或「涵蓋」大部分的程式碼。

備註

程式碼涵蓋範圍可在 Visual Studio Enterprise、Community 和 Professional 版本中使用。 在 Visual Studio 2022 和舊版中,程式碼涵蓋範圍功能僅限於 Visual Studio Enterprise 版本。

備註

程式碼涵蓋範圍僅適用於 Visual Studio Enterprise。 針對 .NET 程式碼涵蓋範圍,您也可以使用命令列工具 dotnet-coverage

程式代碼涵蓋範圍分析可以同時套用至 Managed 和 Unmanaged (原生) 程式代碼。

當您使用 [測試總管] 執行測試方法時,程式代碼涵蓋範圍是選項。 結果數據表會顯示在每個元件、類別和方法中執行的程式代碼百分比。 此外,來源編輯器會顯示已測試的程序代碼。

Microsoft Fakes

Microsoft Fakes 可藉由以存根或填充碼取代應用程式的其他部分,協助您隔離正在測試的程序代碼。

備註

Microsoft Fakes 僅適用於 Enterprise 版本,且僅支援 .NET 程式代碼。

使用 Playwright 測試使用者介面

建議使用 Playwright 進行一般瀏覽器型 UI 測試。

IntelliTest

IntelliTest 會自動為您的 Managed 程式代碼產生單元測試和測試數據。 IntelliTest 可改善涵蓋範圍,並大幅減少針對新程式代碼或現有程式代碼建立和維護單元測試的工作。

IntelliTest 運作中

備註

IntelliTest 已在 Visual Studio 2026 中被取代。 在 Visual Studio 2022 中,IntelliTest 僅支援 .NET Framework,且僅限於 Visual Studio Enterprise。 對 .NET 6 的支援僅限於預覽版。

備註

在 Visual Studio 2022 中,IntelliTest 僅支援 .NET Framework,且僅限於 Visual Studio Enterprise。 對 .NET 6 的支援僅限於預覽版。

如需詳細資訊,請參閱下列: