Skip to content

Интеграционные тесты - Backend

Какую роль выполняют интеграционные тесты?

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

WARNING

Тестовые сценарии проверяют исключительно бизнес-логику, они не стремятся проверить то, как работает какой-либо из слоёв API

Запуск

  1. Настроить дополнительные ENV переменные Backend:

    Переменная BackendЧто делает ?
    PU_TEST_INTEGRATION_CLEAR_DATAУдаление всех связанных с тестом данных, происходит в начале и конце теста. Однако, если указать данную переменную как False, удаление в конце теста происходить не будет - удобно для откладки ошибок
    PU_TEST_INTEGRATION_PRIVATE_REPO_JSONЭто указание на приватные репозитории в GitLab и GitHub, структура репозиториев соответствует такой же для публичных репозиториев, ссылки на них есть в tests.integration.conftest.py
  2. Запустить Backend одной из команд, число workers может быть произвольным:

    uvicorn app.main:app --host 0.0.0.0 --port 8555 --log-level info --workers 4
    gunicorn app.main:app -b 0.0.0.0:8555 --workers=4 -k uvicorn.workers.UvicornWorker --log-level=info
  3. Запустить интеграционное тестирование можно командой

    pytest tests -v