2.5 KiB
2.5 KiB
Politique de tests (centralisés)
Objectifs
- Centraliser tous les tests dans
4NK_env/tests/<projet>/
. - Garantir l’isolation (pas d’état partagé entre tests).
- Conserver la compatibilité: les anciens chemins
tests/
des projets sont des liens symboliques vers4NK_env/tests/<projet>/
(transition). À terme, référencer directement les chemins centralisés dans docs/CI.
Arborescence cible
4NK_env/
└── tests/
├── lecoffre_node/
├── lecoffre-front/
├── ihm_client/
├── sdk_relay/
└── sdk_storage/
Isolation et données
- Chaque test doit isoler son stockage dans un répertoire unique:
/tmp/.4nk/<uuid>
. - Éviter toute dépendance à un état global ou à des fichiers hors du répertoire de test.
- Ne jamais écrire dans
./data
des projets; préférer des répertoires temporaires par test.
Exemples d’exécution (projets)
- lecoffre_node (scripts custom):
cd /home/debian/4NK_env/lecoffre_node
# Exemples (si présents): ./scripts/test-monitoring.sh, ./scripts/test-dashboards.sh
- lecoffre-front (Next/Node):
cd /home/debian/4NK_env/lecoffre-front
npm test
- ihm_client (Vite/Node):
cd /home/debian/4NK_env/ihm_client
npm test
- sdk_relay / sdk_storage:
cd /home/debian/4NK_env/sdk_relay && cargo test || true
cd /home/debian/4NK_env/sdk_storage && cargo test || true
Bonnes pratiques
- Tests hermétiques: créer/détruire ressources durant le test; pas de dépendance sur l’ordre d’exécution.
- Logs: si des logs sont nécessaires, écrire vers
/home/debian/4NK_env/logs/tests/<projet>/
. - CI: ne pas utiliser de chemins relatifs aux anciens
tests/
; cibler4NK_env/tests/<projet>/
.
Migration (transition → cible)
- Les dossiers
tests/
dans les projets pointent actuellement par symlink vers4NK_env/tests/<projet>/
. - Mettre à jour progressivement documentation, scripts, CI pour référencer directement les chemins centralisés.
- Supprimer les symlinks une fois la migration complète validée.
Vérifications
- Pas de dépendances résiduelles aux anciens chemins
./tests
dans scripts/CI: rechercher\b\./tests\b
et corriger si présent. - Pas d’écriture dans
./data
des projets par les tests; utilisation de/tmp/.4nk/<uuid>
.
Commandes utiles
# Lister les suites de tests centralisées
find /home/debian/4NK_env/tests -maxdepth 2 -type d
# Rechercher références aux anciens chemins dans le repo
grep -R "\b\./tests\b" /home/debian/4NK_env || true