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

Среда:

Версия Django: 1.7.1
Версия для носа: 1.3.4
Джанго-нос версия: 1.2

У меня есть два приложения:
собака и человек

Модель имеет:

class Dog(models.Model):
    human = models.ForeignKey('humans.Human', null=False)

    def askFood(human):
       ...

человек

и в модели есть функция, как в примере атрибуты человека, как

name = models.CharField(_('Name'), null=False, max_length=120)

Два приложения перечислены INSTALLED_APPS в файле настроек.

FIXURE_DIRS выглядит следующим образом:

FIXTURE_DIRS = (
    os.path.join(os.path.dirname(__file__), '../**/tests'),
)

Тесты находятся в папке тестов приложения собаки.

У меня есть тест в приложении для собак, чтобы проверить функцию askFood, и у меня есть приспособление JSON (initial_data) с человеком.

[
    {
        "pk": 1,
        "model": "human.Human",
        "fields": {
            "name": "Test"
        }
    },
]

Тест это:

class DogFixtureTestCase(TestCase):
    fixtures = ['./initial_data.json']

class TestFixtureDog(DogFixtureTestCase):
    def test_ask_food(self):
        ...

Я выполняю команду для проверки:

python manage.py test dog

Есть ошибка:

no such table: dog_dog

По-видимому, он не синхронизирует все приложения, он создает таблицы только для собаки, когда прибор работает, он не может найти человеческую таблицу. Как я могу заставить тесты создать модель для всех приложений?

Заранее спасибо за помощь:)

[РЕДАКТИРОВАТЬ]

Я изменил название и опубликовал ответ, возможно, чтобы помочь кому-то с той же проблемой.

Проблема не в том, что синхронизация не создает все таблицы, а сообщение об ошибке вводит в заблуждение. Проблема в том, что исходные данные больше не поддерживаются в django 1.7.

1 ответ

Решение

Хорошо, я собираюсь ответить на мой вопрос:)

Я нашел сообщение об ошибке в трекере ошибок django:

Проблема не в загрузке приборов, а только в исходных данных.

Обратите внимание, что исходные данные не поддерживаются, если в приложении есть миграции. Возможно, стоит добавить более информативное сообщение об ошибке.

Итак, по-видимому, есть три варианта:

  • Перенесите приспособления на новые " Миграции данных".
  • Загрузите данные программно, используя настройки модульных тестов.
  • Не загружайте файл inital_data.json автоматически (удалите initial_data.json) из "пути" приборов. Проблема заключается в загрузке исходных данных, а не фикстур.
Другие вопросы по тегам