这些功能需要安装其他 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-only和 filesall。 |
--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)环境中运行。