# Тесты для state-corp-backend Документ описывает организацию и запуск тестов в проекте `state-corp-backend`. ## Структура ```text tests/ ├── conftest.py ├── utils/ └── apps/ ├── core/ ├── user/ ├── organization/ ├── form_1/ ├── form_2/ ├── form_3/ ├── form_4/ ├── form_5/ └── form_6/ ``` ## Запуск Рекомендуемый способ: ```bash make test ``` Через скрипт: ```bash ./scripts/run-tests.sh ``` Конкретное приложение: ```bash make test TARGET=core make test TARGET=user make test TARGET=organization make test TARGET=form_1 ``` Через `pytest` напрямую: ```bash export PYTHONPATH=src:$PYTHONPATH export DJANGO_SETTINGS_MODULE=settings.test uv run pytest tests ``` ## Конфигурация Тесты используют `src/settings/test.py`. Особенности: - SQLite in-memory. - Local memory cache. - Синхронное выполнение Celery-задач. - Отключённые миграции для быстрого прогона. - Упрощённые password hashers. Production-like режим: ```bash make test-prod ``` Он использует `src/settings/test_postgres.py`, PostgreSQL и реальные миграции. ## Маркеры Поддерживаются стандартные маркеры: - `unit` - `integration` - `models` - `views` - `serializers` - `services` - `slow` Примеры: ```bash uv run pytest -m "unit" uv run pytest -m "not slow" uv run pytest -k test_models ``` ## Покрытие ```bash make test-cov ``` Или напрямую: ```bash ./scripts/run-tests.sh ../tests --cov=src --cov-report=term-missing --cov-report=xml --cov-report=html ```