[pytest] # Pytest configuration for backend tests # Test discovery patterns python_files = test_*.py python_classes = Test* python_functions = test_* # Test paths testpaths = tests # Coverage settings addopts = --verbose --strict-markers --tb=short --cov=. --cov-report=term-missing --cov-report=html:htmlcov --cov-report=xml --cov-branch --cov-fail-under=80 # Markers for test categorization markers = unit: Unit tests integration: Integration tests slow: Slow running tests database: Tests requiring database api: API endpoint tests cache: Cache mechanism tests scraper: Scraper tests background: Background task tests critical: Critical path tests (P0) high: High priority tests (P1) medium: Medium priority tests (P2) low: Low priority tests (P3) # Ignore patterns norecursedirs = .git .tox dist build *.egg __pycache__ # Coverage exclusions [coverage:run] omit = */tests/* */test_*.py */__pycache__/* */venv/* */virtualenv/* [coverage:report] exclude_lines = pragma: no cover def __repr__ raise AssertionError raise NotImplementedError if __name__ == .__main__.: if TYPE_CHECKING: @abstractmethod