我有一个Django应用程序具有这种结构:Django测试模型取决于他们的位置加载?
app/
tests/
__init__.py
tests.py
__init__.py
test_model.py
在tests.py
我导入测试模型,如:from app.test_model import *
。这按预期工作:在测试期间,加载模型,创建相应的数据库表等等。
但是,如果我移动test_model.py
文件中tests/
目录:
app/
tests/
__init__.py
test_model.py
tests.py
__init__.py
而做相应的进口:from app.tests.test_model import *
,它突然失败。未检测模型,因此不会创建自己的数据库表和测试开始失效(DatabaseError: no such table: app_model
)。
这是怎么发生的?我应该如何避免这种情况,仍然放置test_model.py
文件tests/
?
您正在使用什么版本的Django的? –
我使用Django 1.4.10 – linkyndy
的[主办Django的单元测试]可能重复(http://stackoverflow.com/questions/5160688/organizing-django-unit-tests) – sleepycal