Я нашел свой ответ, надеюсь, он может помочь кому-то еще.Основан на django docs .
Тестовый прогон - это класс, определяющий метод run_tests ().Django поставляется с классом DiscoverRunner, который определяет стандартное поведение тестирования Django.Этот класс определяет точку входа run_tests (), а также выбор других методов, которые используются run_tests () для установки, выполнения и демонтажа набора тестов.
В случае этого вопросаВ этом классе есть 2 полезных метода. setup_databases и teardown_databases , поэтому мы можем перезаписать их для инициализации данных для всех классов тестирования.
from django.test.runner import DiscoverRunner as BaseRunner
class MyMixinRunner(object):
def setup_databases(self, *args, **kwargs):
temp_return = super(MyMixinRunner, self).setup_databases(*args, **kwargs)
# do something
return temp_return
def teardown_databases(self, *args, **kwargs):
# do somthing
return super(MyMixinRunner, self).teardown_databases(*args, **kwargs)
class MyTestRunner(MyMixinRunner, BaseRunner):
pass
после определения тестакласс бегуна нам нужно добавить TEST_RUNNER
в настройки:
TEST_RUNNER = 'path.to.MyTestRunner'