Похоже, вы уже высмеиваете сеанс запросов - так как это MagicMock
, вам не нужно дополнительно насмехаться над самим методом get - проверки на вызовы в сеансе будет достаточно.
Итак, ваш test.py может выглядеть так:
#test.py
from unittest import mock
from unittest import TestCase
from main import function_with_get, second_function_with_get
class Testing(TestCase):
@mock.patch('main.requests.session')
def test_which_fails_because_of_get(self, mock_sess):
client = function_with_get()
second_function_with_get(client)
self.assertEqual(mock_sess.return_value.get.call_count, 2)
Вы также можете попытаться создать свой собственный класс SessionMock
с применением метода get
, но это потребует также правильной установки (или сброса) его для каждого теста. Лично мне обычно легче использовать MagicMock и его цепочку return_value
.