azure-devops - Azure DevOps:缺少绿色测试的控制台输出
问题描述
我们将 NUnit 测试执行从 TeamCity 迁移到 Azure DevOps。迄今为止最大的问题之一 - 无法查看绿色(通过)测试的控制台输出。DevOps 中是否真的缺少这个基本功能,或者我根本不知道去哪里找?
以下是查看失败测试的控制台输出的方法:
更新:在文档中有一个“提示”(https://docs.microsoft.com/en-us/azure/devops/pipelines/test/review-continuous-test-results-after-build?view=azure-开发者):
如果您使用 Visual Studio 测试任务运行测试,则从测试记录的诊断输出(使用任何 Console.WriteLine、Trace.WriteLine 或 TestContext.WriteLine 方法)将显示为失败测试的附件。
文本明确指出“测试失败”。看起来确实没有办法(没有简单的方法)查看非失败测试的控制台输出,这非常令人沮丧。
解决方案
Azure DevOps 不显示已通过测试的控制台输出:
该产品目前不支持打印控制台日志以通过测试,我们目前没有计划在不久的将来支持此功能。
他们建议将控制台输出写入文件并将文件作为测试附件上传:
但是,要实现您想要的,您几乎是在正确的道路上。将必要的信息写入文件并作为测试附件上传是正确的方法。您可以使用此 API 附加文件,它将作为测试用例级别的附件自动上传到 azure devops:https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.testtools.unittesting。 testcontext.addresultfile?view=mstest-net-1.2.0
(这两个报价的来源:https ://developercommunity.visualstudio.com/content/problem/631082/printing-the-console-output-in-the-azure-devops-te.html )
还有另一种方法可以获取成功测试的输出:
您的构建将有一个带有文件扩展名的附件.trx
。这是一个 XML 文件,包含Output
每个测试的元素(另请参阅https://stackoverflow.com/a/55452011):
<TestRun id="[omitted]" name="[omitted] 2020-01-10 17:59:35" runUser="[omitted]" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Times creation="2020-01-10T17:59:35.8919298+01:00" queuing="2020-01-10T17:59:35.8919298+01:00" start="2020-01-10T17:59:26.5626373+01:00" finish="2020-01-10T17:59:35.9209479+01:00" />
<Results>
<UnitTestResult testName="TestMethod1">
<Output>
<StdOut>Test</StdOut>
</Output>
</UnitTestResult>
</Results>
</TestRun>
推荐阅读
- javascript - 用于 6.3 到 6.5 AEM 升级的迁移工作流模型和脚本,脚本没有被拾取
- java - 如何将字符串返回为json格式
- ajax - 更新主题选项后如何更新 Woocommerce 购物车会话?
- qt - QT 多线程中 UI 显示的延迟
- .net - Serilog Map sink 日志文本
- android - 三星设备 4 和 5 中的拍照图像加载问题
- ruby-on-rails - 在 OSX catalina(10.15.1) 中使用 rbenv 安装 ruby-2.4.0 时构建失败(OS X 10.15.1 使用 ruby-build 20191124)
- c++ - 为我的 ESP32 服务器分配静态 IP 后不再响应
- javascript - 使用 Audio Worklets 时如何修复“破解”音频?
- java - 私有方法的 AOP 注释