67 lines
1.8 KiB
INI
67 lines
1.8 KiB
INI
[pytest]
|
|
# Configuration pytest pour le Pipeline MCO PMSI
|
|
|
|
# Chemins de test
|
|
testpaths = tests
|
|
|
|
# Patterns de découverte
|
|
python_files = test_*.py *_test.py
|
|
python_classes = Test*
|
|
python_functions = test_*
|
|
|
|
# Options par défaut
|
|
addopts =
|
|
-v
|
|
--strict-markers
|
|
--tb=short
|
|
--cov=pipeline_mco_pmsi
|
|
--cov-report=term-missing:skip-covered
|
|
--cov-report=html:htmlcov
|
|
--cov-report=xml:coverage.xml
|
|
--cov-branch
|
|
--maxfail=5
|
|
--durations=10
|
|
|
|
# Markers personnalisés
|
|
markers =
|
|
unit: Tests unitaires pour composants individuels
|
|
integration: Tests d'intégration entre composants
|
|
property: Tests basés sur les propriétés (Hypothesis)
|
|
slow: Tests lents (>5 secondes)
|
|
gpu: Tests nécessitant un GPU
|
|
requires_llm: Tests nécessitant un modèle LLM local
|
|
requires_referentiels: Tests nécessitant les référentiels ATIH
|
|
pbt: Property-based tests (alias pour property)
|
|
|
|
# Timeout par défaut (5 minutes)
|
|
timeout = 300
|
|
timeout_method = thread
|
|
|
|
# Filtres d'avertissements
|
|
filterwarnings =
|
|
error
|
|
ignore::UserWarning
|
|
ignore::DeprecationWarning
|
|
ignore::PendingDeprecationWarning
|
|
|
|
# Configuration de logging pour les tests
|
|
log_cli = false
|
|
log_cli_level = INFO
|
|
log_cli_format = %(asctime)s [%(levelname)8s] %(message)s
|
|
log_cli_date_format = %Y-%m-%d %H:%M:%S
|
|
|
|
log_file = logs/pytest.log
|
|
log_file_level = DEBUG
|
|
log_file_format = %(asctime)s [%(levelname)8s] %(name)s - %(message)s
|
|
log_file_date_format = %Y-%m-%d %H:%M:%S
|
|
|
|
# Options de découverte
|
|
norecursedirs = .git .tox dist build *.egg .venv .snapshots
|
|
|
|
# Désactiver les plugins non nécessaires pour améliorer les performances
|
|
# (décommenter si nécessaire)
|
|
# addopts = -p no:warnings
|
|
|
|
# Configuration pour les tests parallèles (nécessite pytest-xdist)
|
|
# addopts = -n auto
|