Вам потребуется предоставить пользовательский тестовый прогон.
Биты, которые вы хотите переопределить по умолчанию django.test.runner.DiscoverRunner
, это методы DiscoverRunner.setup_databases
и DiscoverRunner.teardown_databases
.Эти два метода связаны с созданием и уничтожением тестовых баз данных и выполняются только один раз.Вы захотите предоставить параметры проекта для конкретного теста, которые будут использовать существующую тестовую базу данных по умолчанию, и переопределить их, чтобы данные дампа загружались и база данных теста не уничтожалась.
В зависимости от размера и содержимогобезопасного дампа может быть просто создать подпроцесс, который будет направлять дамп в интерфейс командной строки SQL вашей базы данных, в противном случае вы сможете получить курсор и выполнить запросы напрямую .
Если вы хотите полностью избавиться от загрузки приборов, вы можете предоставить собственный базовый тестовый пример, который расширяет стандартное значение Django django.test.testcases.TestCase
, а методы TestCase._fixutre_setup
и TestCase._fixutre_teardown
переопределяются, чтобы быть noop.
Caveat emptor: этот бегун сделает невозможным упрощение тестов для чего-либо, кроме источников вашего приложения.Можно настроить бегун для создания определенного псевдонима для подключения к существующей базе данных и загрузки дампа, а затем предоставить специальный тестовый пример, который переопределяет TestCase._database_names
, чтобы указать его псевдоним.