在 Azure Devops 中发布 xunit 测试结果失败 "No Result Found to Publish"

Publishing xunit test results in Azure Devops fails with "No Result Found to Publish"

我想使用 "Publish test results" 任务版本 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 并犹豫是否发布它们。

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

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

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

另外:

据我所知,Visual Studio Test taskDot NetCore CLI task 等内置任务会自动 将测试结果发布到管道,因此您实际上不需要管道中不需要 separate Publish Test Results task。有关详细信息,请参阅 this

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

希望对您有所帮助:)

我找到了解决问题的方法,它并没有真正解决 xunit 发布问题,但我可以接受。

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

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