【问题标题】:Publishing xunit test results in Azure Devops fails with "No Result Found to Publish"在 Azure Devops 中发布 xunit 测试结果失败并显示“未找到要发布的结果”
【发布时间】:2020-05-28 21:53:39
【问题描述】:

我想使用“发布测试结果”任务版本 1.* 和 2.* 在 Azure Devops 发布管道中发布 xunit 测试结果。

虽然 xunit 测试文件存在并且有内容 - 我检查了管道中的 lscat 命令,但收到如下错误消息:

2020-02-13T08:23:10.9093662Z Obtained XUnit Test Run Start Date: 2020-02-13T08:23:10.9092530Z and Completed Date: 2020-02-13T08:23:10.9092530Z
2020-02-13T08:23:10.9144214Z No Result Found to Publish '/home/vsts/work/r1/a/report/report.xml'.
2020-02-13T08:23:10.9149123Z Obtained XUnit Test Run Start Date: 2020-02-13T08:23:10.9148260Z and Completed Date: 2020-02-13T08:23:10.9148260Z
2020-02-13T08:23:10.9149993Z No Result Found to Publish '/home/vsts/work/r1/a/report/report1.xml'.

report1.xmlreport2.xml 两个文件被正确发现,但 Azure DevOps 说 No Result Found to Publish 并犹豫发布它们。

【问题讨论】:

  • 您好,您使用哪个测试任务来运行 xunit 测试?由于此任务支持 xunit v2 而不是 v1,请检查您使用的是哪个版本的 xunit。
  • 我尝试了两种变体。没有区别。
  • 还有这个问题表明可能存在问题并进行修复,尽管它对我不起作用:github.com/microsoft/azure-pipelines-tasks/issues/12772

标签: azure-pipelines xunit


【解决方案1】:

如果您以这种方式使用dotnet test 任务:

您可能需要在发布测试结果任务中设置VSTest 而不是Xunit

我遇到了和你一样的消息,然后通过将 Xunit 更改为 VSTest 来解决它。我想你可能会遇到类似的问题。

另外:

据我所知,Visual Studio Test taskDot NetCore CLI task 等内置任务自动将测试结果发布到管道,因此您实际上不需要单独强>Publish Test Results task 正在筹备中。详情请见this

例如:Dotnet 测试任务默认会生成并发布测试结果:

希望对你有所帮助:)

【讨论】:

    【解决方案2】:

    我找到了一个解决方法,它并不能真正解决 xunit 发布问题,但我可以接受。

    我想发布的 Xunit 测试结果来自一个 testcafe runner,它有很多报告的可能性。我切换到testcafe-reporter-junit 并导出了一份junit 测试报告。然后使用测试发布者获取 junit 文件,一切正常。

    由于切换到 VSTest 也解决了它,可能只是 xunit 测试发布者有问题。

    【讨论】:

    • 我遇到了同样的问题,但是通过在 Azure DevOps 任务中使用 JUnit 和在机器人框架输出格式中使用 XUnit 来解决问题。
    • 我尝试了 VSTest 的其他修复(见上文),但没有任何区别。这解决了它。 (a) 切换到 JUnit 报告器; (b) 将扩展名设置为 xml,(c) 管道 testResultsFormat:'JUnit'。工作完成。
    猜你喜欢
    • 2019-11-09
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 2020-06-04
    • 2017-03-23
    相关资源
    最近更新 更多