在Django 1.8上运行django-celery测试

Fra*_*ant 5 testing django-celery django-1.8

最终,我想让测试通过Django 1.9.django-celery目前适用于Django <1.9.因此,第一步是确保库测试在我的机器上通过Django 1.8传递.

我在测试项目中克隆了https://github.com/celery/django-celery并安装了这些要求.对于Django 1.7,测试正在通过.对于Django 1.8我应该多次得到相同的错误,而它应该工作...

请参阅https://github.com/celery/django-celery/blob/master/tox.ini包括Django 1.8:

...
1.8: Django>=1.8.0,<1.9.0
Run Code Online (Sandbox Code Playgroud)

对于Django 1.7:

pip install Django==1.7
./django-celery/tests/manage.py test djcelery.tests
...
Ran 64 tests in 0.319s
OK
Run Code Online (Sandbox Code Playgroud)

对于Django 1.8:

pip install Django==1.8
./django-celery/tests/manage.py test djcelery.tests

...
======================================================================
ERROR: test_all_as_schedule (djcelery.tests.test_schedulers.test_DatabaseScheduler)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/francois/web/test_project/django-celery/djcelery/tests/test_schedulers.py", line 110, in setUp
    m1 = create_model_interval(schedule(timedelta(seconds=10)))
  File "/Users/francois/web/test_project/django-celery/djcelery/tests/test_schedulers.py", line 20, in create_model_interval
    **kwargs)
  File "/Users/francois/web/test_project/django-celery/djcelery/tests/test_schedulers.py", line 40, in create_model
    return Model(**dict(entry, **kwargs))
  File "/Users/francois/Envs/test_project/lib/python2.7/site-packages/django/db/models/base.py", line 468, in __init__
    setattr(self, field.name, rel_obj)
  File "/Users/francois/Envs/test_project/lib/python2.7/site-packages/django/db/models/fields/related.py", line 668, in __set__
    (value, self.field.rel.to._meta.object_name)
ValueError: Cannot assign "<IntervalSchedule: every 10.0 seconds>": "IntervalSchedule" instance isn't saved in the database.


 ...
 Ran 64 tests in 0.150s

 FAILED (errors=15)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?