共用方式為


開始使用 MSTest

建議建立 MSTest 專案的方法是使用 MSTest.Sdk,這是一個 MSBuild 專案 SDK ,提供一流的 MSTest 測試體驗。 它包含所有建議的預設值,並簡化了專案設定。

使用 MSTest.Sdk 建立專案

要建立 MSTest 專案,請在專案檔案中將屬性設定為 Sdk,並指定 MSTest 版本 MSTest.Sdk

<Project Sdk="MSTest.Sdk/4.1.0">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
  </PropertyGroup>

</Project>

備註

4.1.0 僅舉例,且可被任何更新版本取代。

為了簡化多個測試專案的版本管理,我們建議在解決方案層級的 global.json 檔案中指定 SDK 版本:

<Project Sdk="MSTest.Sdk">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
  </PropertyGroup>

</Project>
{
    "msbuild-sdks": {
        "MSTest.Sdk": "4.1.0"
    }
}

如需詳細資訊,請參閱使用 MSBuild 專案 SDK

當你開始專案時 build ,所有需要的元件都會用標準的 NuGet 工作流程還原並安裝。 你可以使用和其他測試專案相同的工具(例如 dotnet test Visual Studio)。

小提示

預設情況下,MSTest.Sdk 使用 MSTest 執行器搭配 Microsoft.Testing.Platform。 關於進階設定選項,如擴充設定檔、切換至 VSTest,或與 Aspire 和 Playwright 整合,請參見 MSTest SDK 設定

替代方案:使用 MSTest NuGet 套件

如果你不想使用 MSTest.Sdk,也可以使用 MSTest NuGet 元套件,其中包含:

  • MSTest.TestFrameworkMSTest.TestAdapter,以及 MSTest.Analyzers 的 MSTest 核心功能。
  • Microsoft.NET.Test.Sdk 用於 VSTest 整合及測試主機支援。
  • Microsoft.Testing.Extensions.CodeCoverage 以及 Microsoft.Testing.Extensions.TrxReport 用於 Microsoft.Testing.Platform (MTP) 擴充功能。

NuGet 套件概覽

MSTest 功能分散於多個 NuGet 套件中:

Package Description
MSTest.TestFramework 包含用來定義 MSTest 檢定的屬性與類別。
MSTest.TestAdapter 包含能偵測並執行 MSTest 測試的測試轉接器。
MSTest.分析器 內建分析工具,幫助你撰寫高品質測試。

備註

如果你正在建立一個測試基礎架構專案,作為多個測試專案的輔助函式庫,請直接安裝MSTest.TestFrameworkMSTest.Analyzers並整合到該專案中。

語言專屬教學

若要使用您偏好的 .NET 語言進行詳細步驟教學:

範例專案

MSTest 團隊在 microsoft/testfx 資料庫 中維護範例專案,展示各種功能與情境:

範例 Description Link
簡單1 基本的 MSTest 測試執行器設定 在 GitHub 上查看
DemoMSTestSdk MSTest SDK 專案設定 在 GitHub 上查看
BlankUwpNet9App 用 .NET 9 進行 UWP 測試 在 GitHub 上查看
BlankWinUINet9App WinUI 3 在 .NET 9 上測試 在 GitHub 上查看
NativeAotRunner 原生 AOT 編譯 在 GitHub 上查看
RunInDocker 容器化測試執行 在 GitHub 上查看