testing - Azure DevOps 将“不确定”测试报告为“未运行”
问题描述
我有一些针对外部服务的集成测试,有时可能会失败。对于这些,我正在运行 'Assert.Inconclusive("errMsgHere");' 这样测试就不会导致整个 CI/CD 管道失败;我只是想要一个警告。虽然当我在 Visual Studio 中本地运行测试时,这确实会给出一个警告图标,但对于 Azure DevOps,测试报告为“未运行”。此外,在管道运行的“测试”选项卡中,测试的“调试”详细信息有一个错误消息的空白条目,而不是“errMsgHere”,即使该错误消息包含在输出的 .trx 文件中!当然,Azure DevOps 应该显示 Assert.Inconclusive() 输出的消息。有没有什么办法可以得到这个消息,或者把测试结果报告为比“不运行”更有用的东西 ? 也许是“警告”或“不确定”?
解决方案
根据Sarabjot Singh 对此任务的 github问题的回复,这似乎是设计使然。
@osolo 不确定的测试与跳过的测试相同。
不将它们报告为失败和任务失败的行为目前是设计使然。它基于测试平台(https://github.com/microsoft/vstest)和测试框架(https://github.com/microsoft/testfx)设置的优先级
当您使用 vstest.console 运行程序在您的机器上本地运行测试时,会有什么行为?您可以生成 trx 结果文件(使用 --logger:trx 选项),然后比较管道 UI 中显示的内容。
此外,在开发社区提交的链接错误似乎不太可能得到解决:
我发现在过去的 35 天里,这个问题没有太多的产品团队活动和非常少量的新投票或评论。基于此,它的严重性和受影响的区域,根据我的经验,这个问题不太可能得到解决。
似乎确实提到了一种解决方法,尽管它可能无法达到您想要的结果。我知道这可能不是您想要的,但是您可以通过为测试任务设置“出错时继续”选项来将测试失败视为警告。不过,它会将所有失败都视为警告,所以也许有些情况你确实想要停止管道对你的情况没有用处。
推荐阅读
- c# - 如何从其他 API 获得正确响应?
- python - 在正则表达式之后添加新行
- mysql - 在mysql用户定义函数中如何设置动态返回数据类型
- eventbrite - Eventbrite API 获取完整描述
- web-crawler - PyQuery html 如何选择(第二个标签,nth-child)
- typo3 - 使用 TYPO3 v9 中的变体来翻译表单中的validationErrorMessages
- php - csv 文件数据在 codeigniter 中上传到 mysql 为 foreach() 和未定义变量提供的参数无效:结果
- reactjs - Webpack 和 babel 配置问题:“您可能需要适当的加载器来处理此文件类型。”
- jpeg - Media Foundation 中的 JPEG Photo Sink 属性
- excel - 如何在excel中转置重复组?