Макет pyodbc соединения - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть следующий фрагмент для моего класса.

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 и следующие вызовы функций sql с использованием фиктивного соединения и курсора.

В настоящее время я использую

1 Ответ

0 голосов
/ 12 декабря 2018

Есть ли решение, которое вы можете реализовать, используя pytest ?Делает что-то подобное для вашей ситуации:

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

Я взял это решение отсюда: Pytest mock db connection

...