[pytest] testpaths = tests python_files = test_*.py python_classes = Test* python_functions = test_* # Enhanced addopts for better development experience addopts = -v --tb=short --strict-markers --strict-config --color=yes --durations=10 --showlocals -ra --cov=app --cov=models --cov=middleware --cov-report=term-missing --cov-report=html:htmlcov --cov-fail-under=80 # Test discovery and execution settings minversion = 6.0 # Markers for your specific test organization markers = unit: marks tests as unit tests - fast, isolated components integration: marks tests as integration tests - multiple components working together system: marks tests as system tests - full application behavior e2e: marks tests as end-to-end tests - complete user workflows slow: marks tests as slow running tests (deselect with '-m "not slow"') performance: marks tests as performance and load tests auth: marks tests as authentication and authorization tests products: marks tests as product management functionality inventory: marks tests as inventory and inventory management vendors: marks tests as vendor management functionality admin: marks tests as admin functionality and permissions marketplace: marks tests as marketplace import functionality stats: marks tests as statistics and reporting database: marks tests as tests that require database operations external: marks tests as tests that require external services api: marks tests as API endpoint tests security: marks tests as security-related tests ci: marks tests as tests that should only run in CI dev: marks tests as development-specific tests # Test filtering shortcuts filterwarnings = ignore::UserWarning ignore::DeprecationWarning ignore::PendingDeprecationWarning ignore::sqlalchemy.exc.SAWarning # Timeout settings timeout = 300 timeout_method = thread # Additional logging configuration 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