Я пытаюсь начать писать модульные тесты на django, и у меня есть некоторые вопросы о приспособлениях:
Я сделал приспособление своего целого дб проекта (не определенное приложение), и я хочу загрузить его для каждого теста, потому что это похоже на загрузку, только приспособление для определенного приложения не будет достаточно.
Я хотел бы сохранить приспособление в/proj_folder/fixtures/proj_fixture.json.
Я установил FIXTURE_DIRS = ('/fixtures/',)
в моем settings.py. Затем в моем тестовом сценарии я пробую
fixtures = ['proj_fixture.json']
но мои приспособления не загружаются. Как это может быть решено? Как добавить место для поиска приспособлений? В целом, это в порядке для загрузки приспособления для целого test_db для каждого теста в каждом приложении (если это является довольно маленьким)?Спасибо!
У вас действительно есть папка / fixtures /
на вашем жестком диске?
Вы, вероятно, намеревались использовать:
FIXTURE_DIRS = ('/path/to/proj_folder/fixtures/',)
Хорошей практикой является использование PROJECT_ROOT переменной в settings.py:
import os.path
PROJECT_ROOT = os.path.dirname(os.path.realpath(__file__))
FIXTURE_DIRS = (os.path.join(PROJECT_ROOT, 'fixtures'),)
Я указал путь относительно корня проекта в TestCase следующим образом:
from django.test import TestCase
class MyTestCase(TestCase):
fixtures = ['/myapp/fixtures/dump.json',]
...
, и он работал без использования FIXTURE_DIRS