【问题标题】:How to automatically notify tests' owners on failing tests?如何在测试失败时自动通知测试所有者?
【发布时间】:2021-02-27 22:14:05
【问题描述】:

我们使用 Azure DevOps 运行每晚构建来检查我们的测试结果。我们的测试使用测试所有者名称的所有者属性 (MSTest) 进行修饰。

作为夜间运行的一部分,自动向失败测试的所有者发送电子邮件的最简单方法是什么?

是否可以通过使用 Azure DevOps 的某些内置功能来实现此功能?如果没有,可以将哪个自定义流程集成到夜间构建中来实现这一点?

【问题讨论】:

    标签: unit-testing azure-devops azure-pipelines tfsbuild mstest


    【解决方案1】:

    目前 Azure DevOps 中没有这样的内置功能。

    请在此处查看类似问题:How to send a detailed email to specific developer from Azure DevOps on failure of unit tests from a Build pipeline?


    作为解决方法,我们可以使用 powershell 脚本通过 REST API 获取测试结果,然后发送电子邮件:

    使用 RESI API Releases - Get Task Log 获取测试结果:

    GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/environments/{environmentId}/deployPhases/{releaseDeployPhaseId}/tasks/{taskId}/logs?api-version=5.0-preview.2
    

    然后使用 powershell 脚本读取测试结果文件 (.trx) 的详细信息并创建格式化的电子邮件消息以发送给定义的收件人:

    您可以查看此线程 Send Test Result Email After Running Automated Tests with Release Management 了解一些详细信息。

    还有一个Email Report Extension可以处理管道中的电子邮件相关的事情。

    【讨论】:

    • 我在哪里可以找到您在评论中提供的链接中的 Resp API 示例?我只看到扩展程序的使用?
    • @BornToCode 抱歉链接错误。 1. 如果用户手动运行测试,可以查看这个链接:stackoverflow.com/questions/62825065/… 2. 如果在构建中运行测试。构建的测试结果存储在测试运行中,因此您需要先获取构建的测试运行,然后从测试运行中检索测试结果。详细示例请参考:stackoverflow.com/questions/39373499/…希望对您有所帮助。
    猜你喜欢
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 2011-05-22
    • 2010-10-04
    • 1970-01-01
    • 2020-09-13
    • 2021-06-14
    相关资源
    最近更新 更多