Вступить в клуб →
средняяpythonТестирование: pytest, фикстуры, моки

Повтор вызова внешнего сервиса с подменяемой зависимостью

Напишите функцию retry_call(func, attempts).

  • Вызывает func() без аргументов до attempts раз.
  • Как только вызов прошёл без исключения — сразу возвращает его результат.
  • Если все попытки закончились исключением — пробрасывает последнее исключение.
  • Если attempts меньше 1 — бросает ValueError, не вызывая func.

Пауз между попытками не нужно. Функцию передают параметром — поэтому в тестах вместо настоящего HTTP-клиента подставляется функция, которая падает нужное число раз.

заготовка решения

def retry_call(func, attempts):
    # ваш код
    return None

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела