Я пытаюсь написать примеры модульных тестов для одного из моих модулей, который использует пул aiomysql для взаимодействия с MariaDB. Я пытаюсь смоделировать вызовы базы данных для модульного теста. Я использую модуль Python asynctest для насмешки.
Я пытался смоделировать метод подключения в модуле aiomysql.pool. В результате он возвращает объект NoneType для соединения.
def test_new(self):
with asynctest.patch('pcli.appliances.xyzdb.aiomysql.pool.connect', autospec=True) as mock_connect:
reader = asynctest.MagicMock()
reader.at_eof.return_value = False
conn_obj = asynctest.MagicMock()
conn_obj._reader = reader
mock_connect.return_value = asynctest.MagicMock()
import pdb; pdb.set_trace()
apps = yield from get_all_appliances()
Я ожидаю, что объект подключения будет экземпляром MagicMock, который можно расширить, добавив необходимые атрибуты.