Выбранный ответ - огромный взлом. :)
Менее масштабным хаком было бы создание собственного подкласса TestSuiteRunner и изменение настроек или выполнение всего остального, что вам нужно для остальной части вашего приложения. Вы указываете тестового бегуна в своих настройках:
TEST_RUNNER = 'your.project.MyTestSuiteRunner'
В общем, вы не хотите этого делать, но это работает, если вам это абсолютно необходимо.
from django.conf import settings
from django.test.simple import DjangoTestSuiteRunner
class MyTestSuiteRunner(DjangoTestSuiteRunner):
def __init__(self, *args, **kwargs):
settings.IM_IN_TEST_MODE = True
super(MyTestSuiteRunner, self).__init__(*args, **kwargs)
ПРИМЕЧАНИЕ. Начиная с Django 1.8, DjangoTestSuiteRunner
устарела.
Вы должны использовать DiscoverRunner
вместо:
from django.conf import settings
from django.test.runner import DiscoverRunner
class MyTestSuiteRunner(DiscoverRunner):
def __init__(self, *args, **kwargs):
settings.IM_IN_TEST_MODE = True
super(MyTestSuiteRunner, self).__init__(*args, **kwargs)