SuperAPI AI 工具集

dotnet-testing-advanced-tunit-fundamentals

测试与质量

查看项目

更新于 10-15 23:45

技能介绍

用途:本技能用於以 TUnit 建立 .NET 測試專案,或將既有 xUnit 測試遷移至 TUnit,適合全新專案、高效能需求與 CI/CD 使用情境。

主要能力:TUnit 使用 Source Generator 在編譯時期完成測試發現,避免反射成本並支援 Native AOT,啟動時間更快;建構於 Microsoft.Testing.Platform 之上,而非傳統 VSTest;預設並行執行測試,可用 [NotInParallel("GroupName")] 讓特定群組依序執行;提供流暢式非同步斷言,涵蓋相等性、布林、數值、字串、集合與例外,並可用 And / Or 組合。

使用方式:可用 dotnet new tunit 範本建立專案,或使用 console 模板加 TUnit 套件手動建立;需設定 csproj(TUnit 套件、IsTestProject)與 GlobalUsings.cs。測試方法必須是非同步的 async Task,統一使用 [Test] 屬性,參數化使用 [Arguments]。典型斷言寫法為 await Assert.That(result).IsEqualTo(3)。生命週期支援建構式 / Dispose 與 [Before(Test)]、[Before(Class)]、[After(Test)]、[After(Class)],執行順序為 Before(Class) → 建構式 → Before(Test) → 測試方法 → After(Test) → Dispose → After(Class)。

限制與注意:TUnit 專案不需要也不應安裝 Microsoft.NET.Test.Sdk;所有斷言都需 await;IDE 需支援 Microsoft.Testing.Platform。Legacy 專案、保守團隊、大量使用 xUnit 特定套件或仍停留在 .NET 6/7 者暫不建議。文中提及的效能數字與遷移細節來自原始資料,實際情況請以官方文件為準;未提供的收費、價格、平台與其他細節暫未提供。