Microsoft。測試平台(MTP)功能

MTP 內建功能,並可透過 NuGet 套件擴充。

使用 Microsoft.Testing.Platform.MSBuild(它被 MSTest、NUnit 和 xUnit 執行器間接包含)時,只需安裝擴充功能的 NuGet 套件即可,這些擴充功能會自動被偵測並註冊,並且入口點會為您自動生成。

如果您透過設定 <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint> 選擇退出自動產生的進入點,您必須在您的 Main 方法中手動註冊擴充功能。 每個擴充功能頁面都會記錄手動註冊呼叫。

需要 NuGet 套件的擴充功能會附帶自己的授權模式(有些較寬鬆),請務必參考你想使用的擴充套件所對應的授權。

有些擴充是 實驗性質:它們的 API 會標註診斷內容 TPEXP ,未來版本可能會改變,因此你必須先確認診斷內容才能使用。 實驗性擴展在以下列表中標示為(實驗性)。

從這裡開始

根據你的目標,請採用以下路徑:

依情境選擇

內建功能

這些功能是核心平台的一部分,不需要額外的 NuGet 套件。

終端輸出

狀態與進度回報至終端:輸出模式、ANSI 支援及進度指示器。

擴充功能

這些功能需要安裝 NuGet 套件。

測試報告

產生測試報告檔案(TRX、HTML、JUnit、CTRF、Azure DevOps、GitHub Actions)。

法規覆蓋範圍

在測試執行時收集程式碼覆蓋率資料。

崩潰與懸浮傾倒

當測試主機當機或卡死時,收集處理程序傾印檔案。

OpenTelemetry

在測試期間透過 OpenTelemetry 發布追蹤與指標。

重試

用可設定的政策重試失敗的測試。

熱裝填

執行支援熱重載的測試以快速迭代。

Microsoft 偽件

執行使用 Microsoft Fakes 的存根和假件測試。

遙測

遙測資料收集。 了解如何選擇退出以及收集哪些資料。

診斷 (實驗性,於 MTP 2.3.0 引入)

擷取證據以診斷執行情況,例如使用錄影工具錄製螢幕畫面。

測試主機部署 (實驗性,於 MTP 2.3.0 引入)

控制測試主機的部署與啟動方式與地點,例如部署與啟動已封裝的應用程式測試主機。

Microsoft.Extensions 整合(實驗性功能,於 MTP 2.3.0 中引入)

將平台和擴充功能的診斷資訊整合到 Microsoft.Extensions.* 應用程式已在使用的函式庫中,例如透過 Microsoft.Extensions.Logging 管線轉送記錄。