MTP 內建功能,並可透過 NuGet 套件擴充。
使用 Microsoft.Testing.Platform.MSBuild(它被 MSTest、NUnit 和 xUnit 執行器間接包含)時,只需安裝擴充功能的 NuGet 套件即可,這些擴充功能會自動被偵測並註冊,並且入口點會為您自動生成。
如果您透過設定 <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint> 選擇退出自動產生的進入點,您必須在您的 Main 方法中手動註冊擴充功能。 每個擴充功能頁面都會記錄手動註冊呼叫。
需要 NuGet 套件的擴充功能會附帶自己的授權模式(有些較寬鬆),請務必參考你想使用的擴充套件所對應的授權。
有些擴充是 實驗性質:它們的 API 會標註診斷內容 TPEXP ,未來版本可能會改變,因此你必須先確認診斷內容才能使用。 實驗性擴展在以下列表中標示為(實驗性)。
從這裡開始
根據你的目標,請採用以下路徑:
- 在一處找到所有的命令列開關:MTP CLI 選項參考。
- 為你的測試運行新增功能:請使用本文的功能頁面。
- 建立您自己的擴充功能: MTP 架構、 擴充點與 服務。
依情境選擇
- 需要自訂端子輸出: 端子輸出 (內建)
- 需要 TRX 或 Azure DevOps 報告:測試報告(擴充功能)
- 需要 GitHub Actions 原生輸出(日誌群組、註解與工作摘要):GitHub Actions 報告(擴充功能,實驗性)
- 需要覆蓋資料: 代碼覆蓋範圍 (擴展)
- 需要當機或當機診斷: 當機與當機的備份 (擴充功能)
- 需要在執行期間錄製螢幕:診斷(擴充功能,實驗性)
- 需要部署並啟動一個打包式應用程式測試主機: 測試主機部署 (擴充功能,實驗性)
- 需要透過
Microsoft.Extensions.Logging路由傳送平台日誌:Microsoft.Extensions 整合(擴充功能,實驗性) - 需要重試失敗的測試: 重試 (擴充功能)
- 需要 hot reload 支援:熱重新載入(擴充功能)
- 需要 Microsoft Fakes 支援:Microsoft Fakes (擴充功能)
- 需要 OpenTelemetry 追蹤與指標: OpenTelemetry (擴充功能)
- 遙測資料收集與退出: 遙測(擴充套件)
內建功能
這些功能是核心平台的一部分,不需要額外的 NuGet 套件。
狀態與進度回報至終端:輸出模式、ANSI 支援及進度指示器。
擴充功能
這些功能需要安裝 NuGet 套件。
產生測試報告檔案(TRX、HTML、JUnit、CTRF、Azure DevOps、GitHub Actions)。
在測試執行時收集程式碼覆蓋率資料。
當測試主機當機或卡死時,收集處理程序傾印檔案。
在測試期間透過 OpenTelemetry 發布追蹤與指標。
用可設定的政策重試失敗的測試。
執行支援熱重載的測試以快速迭代。
執行使用 Microsoft Fakes 的存根和假件測試。
遙測資料收集。 了解如何選擇退出以及收集哪些資料。
診斷 (實驗性,於 MTP 2.3.0 引入)
擷取證據以診斷執行情況,例如使用錄影工具錄製螢幕畫面。
測試主機部署 (實驗性,於 MTP 2.3.0 引入)
控制測試主機的部署與啟動方式與地點,例如部署與啟動已封裝的應用程式測試主機。
Microsoft.Extensions 整合(實驗性功能,於 MTP 2.3.0 中引入)
將平台和擴充功能的診斷資訊整合到 Microsoft.Extensions.* 應用程式已在使用的函式庫中,例如透過 Microsoft.Extensions.Logging 管線轉送記錄。