Иметь разные исходные данные для разных этапов (тестирование против производства) - PullRequest
2 голосов
/ 19 января 2011

У меня есть initial_data прибор, который я хочу загружать каждый раз , за исключением для производства.У меня уже есть другой файл настроек для производственного и непроизводственного развертывания.

Любые предложения о том, как этого добиться?

Разъяснение : я не хочу тестовых приборов.По сути, мне просто нужно загрузить прибор на основе какого-либо изменения настроек.Я буду копаться в коде Django, чтобы посмотреть, смогу ли я найти элегантный способ сделать это.

Ответы [ 2 ]

1 голос
/ 19 января 2011

Вы можете настроить различные тестовые приборы для каждого теста, если хотите: http://docs.djangoproject.com/en/dev/topics/testing/#topics-testing-fixtures

Если вы хотите загрузить приборы только за один раз, вы также можете написать собственный TestRunner, который позволит вам выполнить эту настройку в начале:

docs.djangoproject.com / ен / DEV / темы / тестирование / # с использованием различных-тестирование-структур

Оба из них по-прежнему будут загружать данные из рабочих приборов, как это делается с помощью syncdb, но вы можете переопределить данные или даже удалить их все. Это может быть неоптимальным, если вы загружаете большие объемы данных в свой производственный продукт. Если это так, я бы порекомендовал вам добавить пользовательскую команду, например load_production_data, которая позволяет вам делать это быстро и легко из командной строки.

0 голосов
/ 19 января 2011

Самый простой способ - использовать manage.py testserver [fixture ...]

Если это промежуточное (а не dev) развертывание, вы, возможно, не захотите использовать встроенный сервер django.В этом случае, быстрый (если хакерский) способ сделать то, что вам нужно, это установить в приложении приложения (называемые, например, «неиспользуемыми»), которые установлены только в ваших непроизводственных настройках.

...