如何根据特定的异常类型在 xUnit 中重试测试

How to retry a test in xUnit based on specific Exception type

我正在寻找自定义 xUnit 属性的方法,可能会在测试的特定异常上重试测试。

类似于

[Fact]
[Retry(3, typeof(ArgumentException)] 

有没有办法在 xUnit 中存档此行为?

查看 xunit-retry,它可能已经过时,但在构建时考虑到了同样的问题。 虽然它不支持对特定异常进行重试,但它会在此处检查第 44 行是否存在异常:https://github.com/giggio/xunit-retry/blob/master/XUnitRetry/RetryTestCase.cs 如果只有一个,则调用 aggregator.toException 会给你一个异常,或者会 return AggregateException 然后你可以检查聚合异常是否与你想重试的列表相匹配 test