c# - 如何在测试运行期间显示测试摘要
问题描述
我有数百个测试并使用 vstest 运行。完成所有测试的测试运行后,仅获取 .trx 文件。我希望显示每个测试的测试运行进度。我不想等待所有测试完成。一旦测试完成,我想显示进度
当我使用 vstest.console.exe 运行多个测试时,它会在所有测试运行结束时生成 .trx 文件。因此,一旦测试完成,我将无法获得即时信息。
我希望在写入 .trx 文件之前,可以根据测试运行 id 将与测试运行相关的结果存储在某个存储库中,最后检索详细信息,然后在测试运行完成后将其写入 .trx 文件. 如果我错了,请纠正我。
如果这是真的,那么如何在生成 .trx 文件之前从存储库中查询它以获取结果?
我的期望是显示每个测试的测试进度,如下所示:
No.OfTestsPassed/TotalNo.OfTests 和
No.OfTestsFailed/TotalNo.OfTests
解决方案
我认为您最好的解决方案是编写自己的记录器。如果您查看trx 记录器源代码,您会看到,它会在引发 TestRunComplete 事件后写入结果。您可以覆盖它的默认行为,并在每次触发 TestResult 事件时写入结果文件。
您可以在 TeamCityLogger 中看到一些示例:如何使用自定义记录器进行 vs 测试?
推荐阅读
- f# - 是否可以在 F# 中定义公共静态只读字段?
- c# - 使用箭头键移动二维数组中的元素并限制移动
- python - 我想知道为什么我制作的图像播放器不能在大尺寸窗口(> 8K 窗口)下正常工作
- apache-kafka - Confluent local start 给出 config.json: No such file or directory
- prolog - Prolog 错误:无权修改静态过程“marital_status/2”
- c# - 发布到 ASP.NET Core 3.1 Web 应用程序时,“[FromBody]MyClass 数据”通常为空
- python - 如何检查任何数组值的长度是否等于 1
- sql - 从当前日期前六个月提取数据不起作用
- php - Laravel根据子数组中元素的数量对数组进行排序
- node.js - doc.save() 不是函数