#c# #xunit #xunit.net
#c# #xunit #xunit.net
Вопрос:
Я ищу способ настроить атрибут xUnit, возможно, чтобы повторить тест для определенного исключения из теста.
Что-то вроде
[Fact]
[Retry(3, typeof(ArgumentException)]
Есть ли какой-либо способ архивировать это поведение в xUnit?
Комментарии:
1. Почему вы хотите повторить его?
2. Из-за нестабильной среды @Progman
3. @user1316502 Ознакомьтесь с рекомендациями по написанию модульных тестов . Попробуйте воспроизвести ваши нестабильные переменные среды в согласованных помещениях.
4. @AlyEl-Хаддад этот вопрос не касается модульных тестов. Проблема заключается в интеграции
5. Если вы искренне верите, что большой набор тестов может избежать ошибочных тестов, то вы не провели большого тестирования: testing.googleblog.com/2016/05/… Google говорит, что у них 1,5%-ная частота сбоев при хороших тестах.
Ответ №1:
Взгляните на xunit-retry, который, вероятно, устарел, но был создан с учетом той же проблемы. Хотя он не поддерживает повторную попытку для конкретного исключения, он проверяет, были ли исключения в строке 44 здесь: https://github.com/giggio/xunit-retry/blob/master/XUnitRetry/RetryTestCase.cs Вызов aggregator.toException либо выдаст вам исключение, если оно только одно, либо вернет AggregateException, а затем вы можете проверить, соответствуют ли агрегированные исключения списку тех, которые вы хотели бы повторитьтест
Комментарии:
1. Какой-то молодец воскресил это: github.com/JoshKeegan/xRetry (жизнь, должно быть, довольно скучная в Милтон-Кинсе).