Python Исключение без импорта - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть функция, которая использует пакет requests, делает запрос, который перехватывает requests.ConnectionError.

def get(self, url):
    try:
        return requests.get(url).json()
    except requests.ConnectionError:
        return None

Я хочу высмеять ответ из пакета запросов, который этот пост описывает очень хорошо. Это все прекрасно, но я хочу написать модульный тест, который также поднимает requests.ConnectionError, что можно сделать интуитивно с помощью этой небольшой модификации макета, показанной выше:

if args[0] == 'http://someurl.com/test.json':
    return MockResponse({"key1": "value1"}, 200)
else: 
    raise requests.ConnectionError

Это требует импорта requests модуль, чтобы вызвать это указанное c исключение. Есть ли способ смоделировать requests.ConnectionError, чтобы вы могли поднять его без импорта requests и чтобы он по-прежнему перехватывался предложением except в исходной функции?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...