Skip to content

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

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

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

WARNING

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

Запуск

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

    Переменная BackendЧто делает ?
    TEST_INTEGRATION_CLEAR_DATAУдаление всех связанных с тестом данных, происходит в начале и конце теста. Но если указать данную переменную как False, удаление в конце теста происходить не будет - удобно для откладки ошибок
    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