Поделиться через


Retry

Для этой функции требуется пакет NuGet Microsoft.Testing.Extensions.Retry .

Подсказка

При использовании Microsoft.Testing.Platform.MSBuild (включается транзитивно msTest, NUnit и xUnit runners), это расширение регистрируется автоматически при установке пакета NuGet — изменения кода не требуются. Регистрация вручную в следующем разделе требуется только в том случае, если вы отключили автоматическую точку входа, задав параметр <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Регистрация вручную

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddRetryProvider();

Retry

Расширение .NET для тестирования устойчивости и обработки преходящих ошибок.

Это расширение предназначено для тестов интеграции, в которых тест сильно зависит от состояния среды и может столкнуться с временными сбоями.

Замечание

Пакет поставляется с ограничивающей лицензией Microsoft.Testing.Platform Tools. Полная лицензия доступна на https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.0.0/License.

Options

Опция Description
--retry-failed-tests Повторно запускает все неудачные тесты до тех пор, пока они не будут пройдены или пока не будет достигнуто максимальное количество попыток. Требуется для активации расширения.
--retry-failed-tests-max-percentage Избегает повторного запуска тестов, если процент неудачных тестовых случаев пересекает указанное пороговое значение. Не удается объединить с --retry-failed-tests-max-tests.
--retry-failed-tests-max-tests Избегает повторного запуска тестов, когда число неудачных тестовых случаев пересекает указанное ограничение. Не удается объединить с --retry-failed-tests-max-percentage.

Для обоих параметров порогового значения (--retry-failed-tests-max-percentage и --retry-failed-tests-max-tests) также требуется --retry-failed-tests задать.

Примеры

Повторите неудачные тесты до 3 раз:

dotnet run --project Contoso.MyTests -- --retry-failed-tests 3

Повторите неудачные тесты до 2 раз, но остановите повторные попытки, если более 50% тестов завершились ошибкой:

dotnet run --project Contoso.MyTests -- --retry-failed-tests 2 --retry-failed-tests-max-percentage 50

Повторите неудачные тесты до 3 раз, но остановите повторную попытку, если более 10 тестов завершились ошибкой:

dotnet run --project Contoso.MyTests -- --retry-failed-tests 3 --retry-failed-tests-max-tests 10

Ограничения

  • Не поддерживается на платформах браузера.
  • Не поддерживается в режиме hot reload.