【发布时间】:2018-03-29 22:06:38
【问题描述】:
我已将我的测试配置为在失败时重试最多 x 次,以确保失败是合法的,而不是在运行期间侥幸。我没有记录初始失败的错误消息。
但是,我注意到如果我正在运行测试,第一个测试失败,然后第二个测试通过,我通过 TestContext.CurrentContext.Result.Message 检查是否有任何断言失败,并注意到第一次迭代失败已记录,我的测试是显示为失败,即使测试在第二次迭代期间通过。如果两个测试都失败了,我会收到“测试中多次失败或警告”。
我想保留最终运行的失败仅与所有迭代的所有失败。有没有办法从TestContext.CurrentCOntext.Result.Message 中消除初始故障?
编辑:我使用的是 NUnit v 3.10.1,当我降级到 v.3.4.0 时,我获得了我想要的体验,而无需对我的代码进行任何修改。
【问题讨论】:
-
您是在循环重试操作还是在使用 NUnit
RetryAttibute?每种情况下的行为都会有所不同。 -
@Charlie 我在循环中使用并实现了此处找到的解决方案:testingrepository.com/retry-failed-tests-in-nunit