Python проверить функцию с декоратором тайм-аута - PullRequest
0 голосов
/ 06 февраля 2020

Итак, у меня есть функция, которая вызывает некоторый 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

...