Подтвердить что ты не робот

Django 1.7 - Как подавить "(1_6.W001) Некоторые проекты unittests могут не выполняться так, как ожидалось."?

У меня есть приложение Django, в котором есть части, первоначально написанные в Django 1.2, и приложение было обновлено до 1.7. После обновления до 1.7, я получаю следующее предупреждение от python manage.py check:

System check identified some issues:

WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
    HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.

Ссылка указанная в сообщении об ошибке, подробно описывает сделанные изменения, но не дает никаких подсказок о том, почему это предупреждение запускается или как его подавлять. Несмотря на то, что предупреждающее сообщение ссылается на Django 1.6, оно появляется только после обновления до Django 1.7

Я проверил, что в Django 1.7 выполняется такое же количество модульных тестов, что и в Django 1.6.1.

Для заинтересованных пользователей рассматриваемая заявка представляет собой систему управления событиями, называемую Kompassi, которая может быть найдена на Github.

4b9b3361

Ответ 2

Обнаружено сообщение в блоге, в котором явно указывается

TEST_RUNNER = 'django.test.runner.DiscoverRunner'

в settings.py остановит это предупреждение.

Ответ 4

Вы можете отключить отдельные предупреждения о проверке системы с помощью SILENCED_SYSTEM_CHECKS.

Что касается вашего другого вопроса о том, как найти причины, по которым было вызвано это предупреждение, единственное место, которое я смог найти, это посмотреть на исходный код.

Ответ 5

Если все в порядке с вашими тестами, вы можете просто отключить предупреждение, выполнив одно из следующих шагов:

  • Удалите SITE_ID из ваших настроек, если вы больше не используете инфраструктуру сайтов.

  • Добавьте переменную BASE_DIR в свои настройки.

  • Извлеките MANAGERS список формы, если вы не используете его.

  • Удалите XFrameOptionsMiddleware промежуточное ПО в настройках. (Он по умолчанию включен в Django 1.6+)

  • Удалите пользовательские TEMPLATE_LOADERS или ADMINS, если они вам не нужны (обычно вы делаете, поэтому не выполняйте это, если не знаете, что делаете).

Это две текущие эвристики (Django 1.7.3), чтобы определить, был ли ваш проект сгенерирован Django < 1.6.