ci(sonar): classe tout apps/backend/tests comme test, pas les seuls test_*.py

Le quality gate de la PR tombait à 0 % de couverture sur le nouveau code :
tests/api/acces.py ne matche ni `**/*test_*.py` ni `**/*test.py`, donc Sonar
le comptait en code de production, qu'aucun rapport de couverture ne mesure.
Le pattern `tests` des exclusions ne l'attrapait pas non plus : sans wildcard,
il ne désigne que le chemin `tests` à la racine du dépôt.

Même défaut pour tests/factories.py et les __init__.py, déjà sur dev.
This commit is contained in:
Johan LEROY
2026-09-18 14:28:05 +02:00
parent bd1da05587
commit 9e6a5c0663
+5 -2
View File
@@ -5,11 +5,14 @@ sonar.sourceEncoding=UTF-8
# Dossier contenant le code source
sonar.sources=apps/frontend/src,apps/backend
# Dossier contenant les tests
# Piège : tout apps/backend/tests/** est du test, pas seulement les fichiers test_*.py.
# Les modules de données (acces.py, factories.py) et les __init__.py comptaient sinon
# comme code de production non couvert, et tiraient la couverture du nouveau code à 0 %.
sonar.tests=apps/frontend/src,apps/backend/tests
sonar.test.inclusions=**/*.spec.ts,**/*.test.ts,**/*test_*.py,**/*test.py
sonar.test.inclusions=**/*.spec.ts,**/*.test.ts,apps/backend/tests/**/*.py
# Liste des fichiers et dossiers à exclure de l'analyse
sonar.exclusions=.pytest_cache,.venv,alembic,tests,**/*/node_modules/**,**/*/dist/**,**/*/build/**,**/*.spec.ts,**/*.test.ts,**/*test_*.py,**/*test.py
sonar.exclusions=.pytest_cache,.venv,alembic,**/*/node_modules/**,**/*/dist/**,**/*/build/**,**/*.spec.ts,**/*.test.ts,apps/backend/tests/**/*.py
# Chemin vers le rapport de couverture de code
# Fichier généré par Pytest