Files
state-corp-backend/tests
Aleksandr Meshchriakov d1b0cd7945
All checks were successful
CI/CD Pipeline / Run Tests (push) Successful in 6m12s
CI/CD Pipeline / Code Quality Checks (push) Successful in 6m19s
CI/CD Pipeline / Build Docker Images (push) Successful in 2m21s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 1s
CI/CD Pipeline / Deploy to Server (push) Successful in 1s
feat: import mostovik exchange sections
2026-05-27 23:13:40 +02:00
..

Тесты для state-corp-backend

Документ описывает организацию и запуск тестов в проекте state-corp-backend.

Структура

tests/
├── conftest.py
├── utils/
└── apps/
    ├── core/
    ├── user/
    ├── organization/
    ├── form_1/
    ├── form_2/
    ├── form_3/
    ├── form_4/
    ├── form_5/
    └── form_6/

Запуск

Рекомендуемый способ:

make test

Через скрипт:

./scripts/run-tests.sh

Конкретное приложение:

make test TARGET=core
make test TARGET=user
make test TARGET=organization
make test TARGET=form_1

Через pytest напрямую:

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 режим:

make test-prod

Он использует src/settings/test_postgres.py, PostgreSQL и реальные миграции.

Маркеры

Поддерживаются стандартные маркеры:

  • unit
  • integration
  • models
  • views
  • serializers
  • services
  • slow

Примеры:

uv run pytest -m "unit"
uv run pytest -m "not slow"
uv run pytest -k test_models

Покрытие

make test-cov

Или напрямую:

./scripts/run-tests.sh ../tests --cov=src --cov-report=term-missing --cov-report=xml --cov-report=html