[pytest] # Test discovery python_files = test_*.py python_classes = Test* python_functions = test_* # Output options addopts = -v --strict-markers --tb=short --cov=api --cov-report=term-missing --cov-report=html:htmlcov --cov-fail-under=85 # Markers markers = unit: Unit tests (fast, isolated) integration: Integration tests (with real dependencies) performance: Performance and benchmark tests security: Security tests e2e: End-to-end tests (Docker required) slow: Tests that take >10 seconds # Test paths testpaths = tests # Coverage options [coverage:run] source = api omit = */tests/* */conftest.py */__init__.py [coverage:report] exclude_lines = pragma: no cover def __repr__ raise AssertionError raise NotImplementedError if __name__ == .__main__.: if TYPE_CHECKING: @abstractmethod