[pytest] # Pytest configuration for Clean Tracks # Test discovery patterns python_files = test_*.py *_test.py python_classes = Test* python_functions = test_* # Test directories testpaths = tests # Output options addopts = -v --strict-markers --tb=short --cov=src --cov-report=term-missing --cov-report=html:htmlcov --cov-report=xml --cov-fail-under=70 --maxfail=5 --disable-warnings --color=yes # Markers for test categorization markers = unit: Unit tests for individual components integration: Integration tests for API endpoints e2e: End-to-end tests using Playwright slow: Tests that take a long time to run cli: Tests for CLI commands websocket: Tests for WebSocket functionality security: Security-related tests performance: Performance benchmarking tests accessibility: Accessibility tests visual: Visual regression tests # Logging log_cli = true log_cli_level = INFO log_cli_format = %(asctime)s [%(levelname)8s] %(name)s - %(message)s log_cli_date_format = %Y-%m-%d %H:%M:%S # Coverage configuration [coverage:run] source = src omit = */tests/* */test_*.py */__pycache__/* */venv/* */setup.py [coverage:report] exclude_lines = pragma: no cover def __repr__ raise AssertionError raise NotImplementedError if __name__ == .__main__.: if TYPE_CHECKING: @abstractmethod [coverage:html] directory = htmlcov