Я хотел бы запустить несколько тестов для кода, который использует базу данных MySQL. Сейчас код состоит из нескольких модулей, которые импортируют общий модуль mainlib
. Этот модуль делаетMySQLdb Python - тестовые базы данных
db = MySQLdb.connect(host='localhost', user='admin', password='admin', db='MyDatabase').
Я хотел бы сделать тесты, используя тестовую базу данных вместо реальной базы
Я думал, что я мог бы закрыть соединение (mainlib.db.close()
) и создать новое соединение в тестовом сценарии:
db = MySQLdb.connect(host='localhost', user='admin', password='admin', db='TestDatabase')
и назовите новый курсор с тем же глобальным переменным. Но я не уверен, как работает импорт в других модулях. В любом случае этот метод, похоже, не работает, поскольку я получаю InterfaceError: (0, '')
, а также никаких данных из моей тестовой базы данных cursor
.
Кто-нибудь знает, как переключиться на тестовую базу данных без изменения исходного кода?
@Steve, спасибо; это сработало. Если вы ответите, я бы выбрал его. Также, если у вас есть идеи о том, как переконфигурировать 'mainlib' как более красивое решение, дайте мне знать! – newt