создание тестовых случаев в django с зависимостью от сельдерея и django-nose

Я пытался создать тестовые примеры для того, что я делал с моим проектом django. В проекте есть несколько задач сельдерея, которые выполняются при появлении сигналов (pre_save, post_delete..etc)

Также я использовал django-nose в качестве своего test_runner, поэтому, чтобы заставить его работать вместе, я сделал свой собственный бегун и унаследовал оба класса.

# -*- coding: utf-8 -*-
from django_nose import NoseTestSuiteRunner
from djcelery.contrib.test_runner import CeleryTestSuiteRunner

class MixedInTestRunner(NoseTestSuiteRunner, CeleryTestSuiteRunner):
    pass

Я также обновил свой TEST_RUNNER, чтобы использовать класс выше, ниже моя конфигурация celery.py, которую я импортирую в свои настройки.py

from __future__ import absolute_import, unicode_literals

from celery import Celery

app = Celery('proj',
             broker='amqp://')

# Optional configuration, see the application user guide.
app.conf.update(
    CELERY_TASK_RESULT_EXPIRES=3600,
    CELERY_TASK_SERIALIZER='json',
    CELERY_ACCEPT_CONTENT=['json'],
    CELERY_RESULT_SERIALIZER='json',
    CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
)

if __name__ == '__main__':
    app.start()

что странно на данный момент, когда я запускаю тестовый пример для определенного приложения, он успешно выполняется без каких-либо проблем

./manage.py test --nologcapture -s messaging # this works

но когда я запускаю для всех приложений, я получаю сообщение об ошибке для всех задач, которые имеют зависимость возвращаемого значения от задачи сельдерея, даже результат.успешный() всегда возвращает ложь

./manage.py test --nologcapture -s # this fails 

person Mo J. Mughrabi    schedule 29.03.2014    source источник
comment
Эта ссылка была предложена справа: stackoverflow.com/questions/15582770/ Это кажется достойным подходом. Множественное наследование, вероятно, ваша проблема.   -  person Sean Perry    schedule 11.04.2014