我正尝试为使用aiomysql池与MariaDB接口的模块之一编写单元测试用例。我正在尝试模拟单元测试的数据库调用。我正在使用asynctest python模块进行模拟。
我试图模拟aiomysql.pool模块中的connect方法。结果是它为Connection返回一个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的实例,可以通过添加必要的属性来对其进行扩展。