Итак, у меня есть функция, которая вызывает некоторый API. Я использовал декоратор с таймаутом, используя пакет timeout-decorator
. В основном это выглядит так:
import timeout_decorator
import requests
@timeout_decorator.timeout(seconds=10, use_signals=False, timeout_exception=MyTimeoutException)
def get_from_api(self, url: str, params: Dict):
requests.get(url=url, params=params)
Теперь я хочу создать тест, который бы проверял, работает ли этот декоратор, так что если выполнение тела get_from_api
займет больше времени, чем в моем случае, 10 секунд - возникнет исключение.
Проблема, конечно, в том, что я не хочу ждать целых 10 секунд + Мне нужно как-то заставить тело работать дольше, чем время ожидания, чтобы вызвать исключение.
Мой вопрос здесь такой: есть ли библиотека или простая методика имитации, например, для того, чтобы сделать это время ожидания, например, 0.1s
, а время выполнения тела, например, 0.2s
? PS Не знаю, насколько это актуально, но я использую pytest