Azure Devops - 重新运行失败测试时发布管道 azure devops 显示失败状态,即使重新运行 成功

Azure Devops - Release Pipeline when re-running failed tests azure devops shows failure status even if re-run succeeded

我将 Specflow 与 SpecRunner+ 一起使用 我正在使用 Deafult.srprofile 来重新 运行 失败的测试 3 次 visual studio 它显示 2passed 1 failed 但测试的状态是失败,如果重新 运行 测试通过 运行 的结果是失败,那么 azure devops 也是如此。失败有时是由定位器超时或服务器超时引起的,这种情况并不常见,但很少发生,这就是我们决定实施重新 运行.

的原因

有人可以帮忙吗?

022-02-09T12:40:13.8607507Z Test Run Failed.
2022-02-09T12:40:13.8608607Z Total tests: 37
2022-02-09T12:40:13.8609271Z      Passed: 36
2022-02-09T12:40:13.8609858Z      Failed: 1
2022-02-09T12:40:13.8617476Z  Total time: 7.4559 Minutes
2022-02-09T12:40:13.9226929Z ##[warning]Vstest failed with error. Check logs for failures. There might be failed tests.
2022-02-09T12:40:14.0075402Z ##[error]Error: The process 'D:\Microsoft_Visual_Studio19\Common7\IDE\Extensions\TestPlatform\vstest.console.exe' failed with exit code 1
2022-02-09T12:40:14.8164576Z ##[error]VsTest task failed.

但随后报告指出它重试了 3 次,其中 2 次是完全安全的,但在 azure devops 上仍然是失败状态 运行。

报告的行为是正确的,遗憾的是无法配置更改。

您可以做的是调整将结果报告回 Azure DevOps 的方式。 您可以通过 srProfile-File.

中的 VSTest 元素对其进行配置。

这个例子意味着,必须至少重试一次:

<VSTest testRetryResults="Unified" passRateAbsolute="1"/>

文档:https://docs.specflow.org/projects/specflow-runner/en/latest/Profile/VSTest.html

请注意,我们已经停止了 SpecFlow+ Runner 的开发。此处有更多详细信息:https://specflow.org/using-specflow/the-retirement-of-specflow-runner/