建議建立 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.TestFramework,MSTest.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 語言進行詳細步驟教學:
- 入門 C#:建立你的第一個 C# 測試專案並撰寫基本測試
- 開始使用 F# 時:用 MSTest 測試 F# 程式碼
- Visual Basic 入門:用 MSTest 測試 Visual Basic 程式碼
範例專案
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 上查看 |