Files
orion/pytest.ini

65 lines
2.1 KiB
INI

[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