对于 Django 1.4.5,我使用的是 django-nose 1.1.0。
我有两个没有差异的设置文件。
-> % diff local_settings.py test_settings/sqlite.py
我运行测试:
-> % python manage.py test foo --settings=local_settings
我得到
Ran 91 tests in 5.273s
OK (SKIP=6)
从不同位置运行相同的相同设置
-> % python manage.py test foo --settings=test_settings.sqlite
测试在没有全部运行的情况下保释:
Ran 43 tests in 1.230s
FAILED (errors=1)
我得到了一个回溯,DatabaseError: no such table: django_content_type
回溯来自于 url 的加载。在那里实例化的东西调用ContentType.objects.get_for_model(self.model)
. 当设置相同时,这种差异怎么可能?
我的 manage.py 文件是通用的:
#!/usr/bin/env python
from django.core import management
if __name__ == "__main__":
management.execute_from_command_line()