diff --git a/README.md b/README.md index d61fcb84..4be23fd0 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,9 @@ DEBUG_TOOLBAR_PANELS = [ 'debug_toolbar.panels.logging.LoggingPanel', 'debug_toolbar.panels.redirects.RedirectsPanel', ] + +# копия бд для тестов должна начинаться с приставки test_ +TEST_RUNNER = 'proj.test.CustomTestRunner' ``` diff --git a/proj/test.py b/proj/test.py new file mode 100644 index 00000000..75d101bf --- /dev/null +++ b/proj/test.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from django.test.simple import DjangoTestSuiteRunner as TestRunner +from django.db import connections, DEFAULT_DB_ALIAS + + +class CustomTestRunner(TestRunner): + """ + Из-за того, что проект достаточно сильно разросся, мы хотим для + тестов использовать копию рабочей бд + (без создания и удаления бд для тестов) + + В Django >= 1.8 для этого можно использовать ключ keepdb + """ + def setup_databases(self, **kwargs): + db = connections.databases[DEFAULT_DB_ALIAS]['NAME'] + connections[DEFAULT_DB_ALIAS].settings_dict['NAME'] = 'test_%s' % db + + def teardown_databases(self, old_config, **kwargs): + pass