[pytest] # Test discovery patterns testpaths = tests python_files = test_*.py python_classes = Test* python_functions = test_* # Asyncio mode asyncio_mode = auto # Coverage settings addopts = --cov=. --cov-report=html --cov-report=term-missing --cov-report=xml --cov-fail-under=80 --verbose --strict-markers --tb=short -ra # Test markers markers = unit: Unit tests (fast, isolated) integration: Integration tests (slower, DB/WebSocket) e2e: End-to-end tests (slowest, full system) load: Load and performance tests slow: Slow tests (> 1s) db: Tests requiring database websocket: Tests requiring WebSocket property: Property-based tests using hypothesis # Timeout settings (5 minutes max per test) timeout = 300 timeout_method = thread # Ignore certain directories norecursedirs = .git .github __pycache__ htmlcov *.egg-info dist build # Warnings filterwarnings = error ignore::UserWarning ignore::DeprecationWarning # Log settings log_cli = false log_cli_level = INFO log_cli_format = %(asctime)s [%(levelname)8s] %(message)s log_cli_date_format = %Y-%m-%d %H:%M:%S # Parallel execution (use with pytest -n auto) # Install pytest-xdist: pip install pytest-xdist