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) из "пути" приборов. Проблема заключается в загрузке исходных данных, а не фикстур.