Загрузка приспособлений в django модульных тестах

Я пытаюсь начать писать модульные тесты на django, и у меня есть некоторые вопросы о приспособлениях:

Я сделал приспособление своего целого дб проекта (не определенное приложение), и я хочу загрузить его для каждого теста, потому что это похоже на загрузку, только приспособление для определенного приложения не будет достаточно.

Я хотел бы сохранить приспособление в/proj_folder/fixtures/proj_fixture.json.

Я установил FIXTURE_DIRS = ('/fixtures/',) в моем settings.py. Затем в моем тестовом сценарии я пробую

fixtures = ['proj_fixture.json']

но мои приспособления не загружаются. Как это может быть решено? Как добавить место для поиска приспособлений? В целом, это в порядке для загрузки приспособления для целого test_db для каждого теста в каждом приложении (если это является довольно маленьким)?Спасибо!

37
задан Nacho 18 March 2010 в 16:05
поделиться

3 ответа

У вас действительно есть папка / fixtures / на вашем жестком диске?

Вы, вероятно, намеревались использовать:

FIXTURE_DIRS = ('/path/to/proj_folder/fixtures/',)
30
ответ дан 27 November 2019 в 04:01
поделиться

Хорошей практикой является использование PROJECT_ROOT переменной в settings.py:

import os.path
PROJECT_ROOT = os.path.dirname(os.path.realpath(__file__))
FIXTURE_DIRS = (os.path.join(PROJECT_ROOT, 'fixtures'),)
30
ответ дан 27 November 2019 в 04:01
поделиться

Я указал путь относительно корня проекта в TestCase следующим образом:

from django.test import TestCase

class MyTestCase(TestCase):
    fixtures = ['/myapp/fixtures/dump.json',]
    ...

, и он работал без использования FIXTURE_DIRS

87
ответ дан 27 November 2019 в 04:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: