Tests restructuring
This commit is contained in:
65
pytest.ini
Normal file
65
pytest.ini
Normal file
@@ -0,0 +1,65 @@
|
||||
[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
|
||||
Reference in New Issue
Block a user