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)
我错过了什么?