Плагин к каркасу pytest, позволяющий упростить тестирование приложений для Django.
Предлагает инструменты для:
  • Переопределения настроек приложения;
  • Тестирования шаблонных тегов;
  • Создания пользователей;
  • Создания объектов запросов;
  • Тестирования управляющих (management) команд;
  • Тестирования отправки писем;
  • Тестирования сообщений пользователям (messages);
  • Тестирование UI: запуск сервера и браузера;
  • Аудита запросов к БД ;
  • и т.п.

Плагин стартует только для тех проектов, в которых вам это нужно. Вы явно указываете в conftest.py, что хотите активировать плагин (и сразу конфигурируете его, если требуется). Это позволяет не ловить неожиданные спецэффекты в тестах для других не относящихся к Django проектов.

    from pytest_djangoapp import configure_djangoapp_plugin

# Конфигурируем и в тестах можно использовать фикстуры.
pytest_plugins = configure_djangoapp_plugin()

Плагин можно сконфигурировать для тестирования целых проектов на Django:

    pytest_plugins = configure_djangoapp_plugin(
settings='myproject.settings.settings_testing',
)

По умолчанию плагин использует базу данных sqlite в памяти, которая автоматически очищается после прогона очередного теста. Это означает, что кажный новый тест работает с чистой базой и не наткнётся случайно на неожиданные данные от предыдущего.

Более подробная документация доступна по адресу http://pytest-djangoapp.readthedocs.io (англ.).

Читайте также:
* Анонс pytest-djangoapp

Категории

Окружение
Область
Проект

На заметку
В разделе «События» можно узнать о надвигающихся событиях мира Python, а также поделиться своими. Если вы являетесь организатором встречи/конференции/спринта, зарегистрируйте это событие в указанном разделе, чтобы о нём узнали все желающие.