測試報告

這些功能需要安裝額外的 NuGet 套件,如同各節所述。

小提示

使用 Microsoft.Testing.Platform.MSBuild (由 MSTest、NUnit 和 xUnit 測試框架間接包含)時,這些擴充套件會在安裝 NuGet 套件時自動註冊,不需要改動程式碼。 本文所規定的手動註冊僅在你透過設定 <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>關閉自動產生的入口點時才需要。

Visual Studio 測試報告(TRX)

Visual Studio 測試結果檔案(或稱 TRX)是發布測試結果的預設格式。 此擴充套件需要 Microsoft.Testing.Extensions.TrxReport NuGet 套件。

手動註冊

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddTrxReportProvider();

備註

使用手動註冊時,請最後註冊TRX報告提供者。 目前的實作依賴於註冊順序,因此在所有其他擴充之後註冊,能確保它能捕捉所有測試資料。

選項

選項 Description
--report-trx 產生 TRX 報表。
--report-trx-filename 產生的 TRX 報表名稱。 預設名稱符合下列格式 <UserName>_<MachineName>_<yyyy-MM-dd_HH_mm_ss.fffffff>.trx

報表會儲存在可透過 命令行自變數指定的預設 --results-directory 資料夾中。

Azure DevOps 報告

為開發者提供的 Azure DevOps 報告插件增強了測試執行,這些開發者在 GitHub 上託管程式碼,但在 Azure DevOps 建置代理程式上進行建置。 它會在失敗中加入額外資訊,直接在 GitHub PR 中顯示失敗。

 GitHub PR 檔案檢視中的錯誤註解

此擴充套件需要 Microsoft.Testing.Extensions.AzureDevOpsReport NuGet 套件。

手動註冊

var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddAzureDevOpsProvider();

選項

選項 Description
--report-azdo 啟用 Azure DevOps 報告產生器。 錯誤與警告會以 Azure DevOps 能理解的格式寫入輸出。
--report-azdo-severity 用於報告事件的嚴重程度。 有效的值為 error (預設值)和 warning
--report-azdo-flaky-history 查詢 Azure DevOps 過去 N 天(1–90 天)內的測試結果歷史記錄,並為回報的失敗加上註記,附上測試波動性脈絡。 需要 --report-azdo
--report-azdo-demote-known-flaky 在 Azure DevOps 歷史視窗中,若失敗項目的不穩定程度達到門檻(預設為 25%),則會從錯誤降級為警告。 需要 --report-azdo--report-azdo-flaky-history
--report-azdo-quarantine-file 列出已隔離測試的完整限定名稱或 glob 模式的文字檔路徑。 匹配失敗會被報告為警告。 需要 --report-azdo
--report-azdo-upload-artifacts 上傳測試結果檔案和/或新增建置標籤到 Azure DevOps。 有效值為 off (預設值)、 tags-onlyfilesall和 。
--report-azdo-upload-artifact-include 使用相對於測試結果目錄的 glob 模式,在 Azure DevOps 成品上傳中包含檔案。 預設為 **/*。 要求 --report-azdo-upload-artifacts 為非 off 的值。
--report-azdo-upload-artifact-exclude 使用相對於測試結果目錄的 glob 模式,將檔案排除在 Azure DevOps 成品上傳之外。 要求 --report-azdo-upload-artifacts 的值不得為 off
--report-azdo-upload-artifact-name 覆寫 Azure DevOps 成品容器的名稱。 預設為 TestResults_{assemblyName}_{tfm}。 要求 --report-azdo-upload-artifacts 的值不可為 off
--publish-azdo-test-results 即時將測試結果發布於Azure DevOps Tests分頁。
--publish-azdo-run-name 為即時測試結果發佈設定自訂的 Azure DevOps 測試執行名稱。 需要 --publish-azdo-test-results

備註

Azure DevOps擴充在 MTP 1.9.0(--report-azdo--report-azdo-severity)中變得穩定。 表格中其他所有選項——--report-azdo-flaky-history如 、 --report-azdo-demote-known-flaky--report-azdo-quarantine-file--report-azdo-upload-artifacts--report-azdo-upload-artifact-include、 、 --report-azdo-upload-artifact-exclude--report-azdo-upload-artifact-name--publish-azdo-test-results--publish-azdo-run-name —— 自 2.3.0 版本起皆可於 MTP 中使用。

擴充功能會自動偵測其是否在持續整合(CI)環境中運行,方法是檢查 TF_BUILD 環境變數。