模拟pyodbc连接



我的类有以下代码段。

class Sql_Workflow_Connector():
def __init__(self, server, database, username, password, sql_driver):
self.server = server
self.database = database
self.username = username
self.password = password
self.conn = pyodbc.connect(driver=sql_driver, server=self.server,
port=1433, database=self.database, uid=self.username, pwd=self.password)
self.cursor = self.conn.cursor()

我想使用pytest开始单元测试。

我需要模拟连接和光标。我该怎么做?正如我想测试的那样,init和以下使用mock连接和游标调用sql函数。

目前我的意思是

是否有可以使用pytest实现的解决方案?这样的方法适合你的情况吗:

@pytest.fixture(autouse=True)
def _mock_db_connection(mocker, db_connection):
mocker.patch('db.database.dbc', db_connection)
return True

我从这里得到了这个解决方案:Pytest mock db连接

最新更新