У меня есть приложение под управлением Django 2, которое подключается к бэкэнду Microsoft SQL Server.
Мы находимся в большой среде, где все довольно жестко контролируется - учетная запись пользователя имеет доступ кбаза данных, в которой хранятся все таблицы для моего приложения django.
Таким образом, я обнаружил в различных постах, что мне нужно создать testrunner
для моего приложения - и это нормально.Я могу переопределить функцию setup_databases
, но я не уверен, точно , как это сделать.
Мой TestRunner(DiscoverRunner)
выглядит так:
class ExistingDbTestRunner(DiscoverRunner):
""" A test runner to test without database creation """
def setup_databases(self, **kwargs):
""" Override the database creation defined in parent class """
# force Django to connect to the correct db for tests
connection = self.connections['default']
db_conf = connection.settings_dict
connection.connect()
def teardown_databases(self, old_config, **kwargs):
""" Override the database teardown defined in parent class """
pass
Но это не работает с AttributeError: 'ExistingDbTestRunner' object has no attribute 'connections'
Я просто пытаюсь заставить это использовать базу данных «по умолчанию», которую я установил в настройках для целей тестирования.
Стоит отметить -база данных по умолчанию, указанная в настройках, является дубликатом производственной базы данных с другим именем.
Поэтому я просто хочу, чтобы мои тесты запускались для этой дублированной базы данных.Что я должен изменить, чтобы он соединялся?