带有 django-nose : two identical settings files with different behavior in running test command 的 Django

标签 django django-testing django-settings django-nose

对于 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回溯来自网址的加载。在那里实例化的东西调用 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()

最佳答案

是你的数据库NAME设置为sqlite DB的相对路径?

如果是这样,您可能只需要在 test_settings 中使用您的设置文件同步数据库。
DatabaseError: no such table: django_content_type意味着找不到 django 特定表之一,这听起来像是数据库本身的问题,而不是您的应用程序或设置文件本身。

关于带有 django-nose : two identical settings files with different behavior in running test command 的 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15980984/

相关文章:

python - 当我有看似正确的设置时出现无效的后端错误——为什么?

django - 如何在 Django 模板中指定 URL?

php - 电子商务是否从零开始

django 覆盖模型 save() 方法

python - django-webtest 和 selenium 之间的区别

python - 在Python中设置环境变量

database - 将 Django 模型从一个应用程序移动到另一个应用程序

python - Django 测试重定向以使用下一个参数登录

python - self.assertTrue(False) 到底测试了什么

django - 将 django 应用程序移动到子文件夹和 url.py 错误