У меня есть приложение 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