测试报告扩展

本文列出并说明与测试报告功能相关的所有 Microsoft.Testing.Platform 扩展。

测试报告是一个文件,其中包含有关测试的执行和结果的信息。

Visual Studio 测试报告

Visual Studio 测试结果文件(或 TRX)是发布测试结果的默认格式。 此扩展作为 Microsoft.Testing.Extensions.TrxReport 包的一部分提供。

可用选项如下所示:

选项 DESCRIPTION
--report-trx 生成 TRX 报表。
--report-trx-filename 生成的 TRX 报表的名称。 默认名称与以下格式 <UserName>_<MachineName>_<yyyy-MM-dd HH:mm:ss>.trx匹配。

报表保存在可通过命令行参数指定的默认 --results-directory 文件夹中。

Azure DevOps 报表

Azure DevOps 报表插件增强了针对在 GitHub 上托管其代码但基于 Azure DevOps 生成代理的开发人员运行的测试。 它会向失败添加其他信息,以在 GitHub PR 中直接显示失败。

GitHub PR 文件视图中的错误注释

该扩展在 Microsoft.Testing.Extensions.AzureDevOpsReport 包中提供。

可用选项如下所示:

选项 DESCRIPTION
--report-azdo 在 CI 构建中启用输出错误/警告。
--report-azdo-severity 用于报告事件的严重性。 选项包括: error (默认值)和 warning

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

确定要报告的行

若要突出显示发生故障的代码中的正确行,AzureDevOps 报告插件会在错误堆栈跟踪中搜索当前存储库中存在的文件。

若要确定这一点,请执行以下操作:

  • 查找存储库根目录的方法是,通过搜索距离启动测试应用程序位置最近的 .git 目录(由 AppContext.BaseDirectory 确定)。
  • 查找堆栈跟踪中具有文件位置和行的第一行(库需要具有调试符号)。
  • 将所有以 Assert.cs 结尾的文件排除在外,以避免显示断言实现或包装器的详细信息。
  • 排除磁盘上不存在的所有文件(通常是来自附带调试符号的外部库中的代码行,例如 MSTest)。

(这些是有助于调试行为并在将来可能更改的内部详细信息。