В оффициальной документации django-celery
есть раздел о том, как правильно настроить Celery для тестирования с Django проектом, также там упоминается и о возможности использовании специального тест раннера из пакета djcelery.
Так вот, если вы используете Django 1.3 - забудьте про эту возможность до лучших времен. Ее использование черевато DeprecationWarning
'ами и не совсем понятной работой (например, у меня --failfast
вообще не работал).
Причина кроется в сообщении из подобного DeprecationWarning
'a:
/path/to/site-packages/django/test/simple.py:369: DeprecationWarning: The run_tests() test runner has been deprecated in favor of DjangoTestSuiteRunner.
DeprecationWarning
Т.е., начиная с версии 1.3 мы должны забыть о функциях тест раннерах и использовать только классы тест раннеры. И так как готового класса тест раннера для django-celery еще нет, то нам прийдется руками разместить те настройки, которые устанавливает run_tests
перед своим запуском, а именно:
CELERY_ALWAYS_EAGER = True
CELERY_EAGER_PROPAGATES_EXCEPTIONS = True
в test_settings
модуль или куда-угодно еще. Ну и не забыть убрать djcelery.contrib.test_runner.run_tests
из TEST_RUNNER
.