测试报告

这些功能需要安装其他 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 报告提供程序设为最后注册的对象。 当前实现取决于注册顺序,因此在所有其他扩展之后注册它可确保它捕获所有测试数据。

选项

Option 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();

选项

Option 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 中可用。

该扩展通过检查 TF_BUILD 环境变量自动检测它在持续集成(CI)环境中运行。