你可以繼承芹菜賽跑者和鼻子亞軍,然後你會得到好的一面。
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的視頻:super super super(here)。
+1 idk,可能必須將子類繼承並將其他類的功能添加到自己的類中。 – 2013-04-03 21:24:58