У меня есть функция ниже, и я хочу написать модульный тест, чтобы проверить, ловит ли мой код ConnectionError, используя фиктивную библиотеку.
def get_foo():
try:
return requests.get("http://www.bongani.com")
except requests.exceptions.ConnectionError:
print("Error")
Что я имею:
import unittest
import mock
class MyTestCase(unittest.TestCase):
@mock.patch('requests.get')
def test_foo(self, mock_requests_get):
mock_requests_get.side_effect = requests.exceptions.ConnectionError()
with self.assertRaises(requests.exceptions.ConnectionError):
get_foo()
if __name__ == '__main__':
unittest.main()
Я получаю эту ошибку:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/mock/mock.py", line 1305 , in patched
return func(*args, **keywargs)
File "<ipython-input-24-15266e4f708a>", , in test_foo
get_foo()
AssertionError: ConnectionError not raised
Я хочу издеваться над строкой return requests.get("http://www.bongani.com")
, чтобы она вызывала исключение при вызове