Celery runner と Nose runner をサブクラス化すると、それらすべてに良い側面が得られます。
from django_nose import NoseTestSuiteRunner
from djcelery.contrib.test_runner import CeleryTestSuiteRunner
class TestRunner(CeleryTestSuiteRunner, NoseTestSuiteRunner):
pass
次に、設定で:
TEST_RUNNER = '<package to>.TestRunner'
機能する理由:
help(TestRunner)
あなたは得る:
| Method resolution order:
| TestRunner
| djcelery.contrib.test_runner.CeleryTestSuiteRunner
| django_nose.runner.NoseTestSuiteRunner
| django_nose.runner.BasicNoseRunner
| django_nose.runner.BaseRunner
| django.test.runner.DiscoverRunner
| builtins.object
テスト CeleryTestRunner は、いくつかの構成を設定してから呼び出すだけで何もしませんでしたsuper().setup_test_environment()
。次に、スーパーはそのチェーンで setup_test_environment() を探します。
Raymond Hettinger のビデオをご覧ください。