Отказ от ответственности * Я не спрашиваю, как ввести мой макет в мой модульный тест
с unittest.mock
. Это о том, как смоделировать макет
pyodbc
.
Мне нужно получить макет некоторых pyodbc
объектов, чтобы я мог протестировать различные функции моего приложения на Python, но я нахожу это исключительно трудным для выполнения. Традиционно способ сделать это - просто наследовать от объекта, который я хочу смоделировать, а затем переопределить любые проблемные методы или свойства со статическими значениями для проверки.
Однако, когда я пытаюсь унаследовать от pyodbc.Connection
или pyodbc.Row
, я получаю ошибку:
TypeError: тип 'pyodbc.Connection' не является допустимым базовым типом
Я могу взять сами объекты класса и передать их, но это не очень хорошая идея по ряду причин, и при этом функциональность моих тестов не будет очень отражать контекст развертывания.
У кого-нибудь есть идеи, как это сделать в Python?