這些功能需要安裝額外的 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 中顯示失敗。
此擴充套件需要 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-only、 files、 all和 。 |
--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 環境變數。