Files
state-corp-backend/tests/README.md
Aleksandr Meshchriakov 345b1d0cc8
Some checks failed
CI/CD Pipeline / Run Tests (push) Failing after 45s
CI/CD Pipeline / Code Quality Checks (push) Failing after 48s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
CI/CD Pipeline / Deploy to Server (push) Has been skipped
Add initial implementations for forms and organization apps with serializers, factories, and admin configurations
2026-03-28 18:23:06 +01:00

105 lines
1.9 KiB
Markdown

# Тесты для 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
```