66 lines
2.1 KiB
INI
66 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=utils
|
|
--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
|
|
stock: marks tests as stock and inventory management
|
|
shops: marks tests as shop 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
|