71 lines
2.5 KiB
Markdown
71 lines
2.5 KiB
Markdown
## 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 vers `4NK_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):
|
||
```bash
|
||
cd /home/debian/4NK_env/lecoffre_node
|
||
# Exemples (si présents): ./scripts/test-monitoring.sh, ./scripts/test-dashboards.sh
|
||
```
|
||
|
||
- lecoffre-front (Next/Node):
|
||
```bash
|
||
cd /home/debian/4NK_env/lecoffre-front
|
||
npm test
|
||
```
|
||
|
||
- ihm_client (Vite/Node):
|
||
```bash
|
||
cd /home/debian/4NK_env/ihm_client
|
||
npm test
|
||
```
|
||
|
||
- sdk_relay / sdk_storage:
|
||
```bash
|
||
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/`; cibler `4NK_env/tests/<projet>/`.
|
||
|
||
### Migration (transition → cible)
|
||
1. Les dossiers `tests/` dans les projets pointent actuellement par symlink vers `4NK_env/tests/<projet>/`.
|
||
2. Mettre à jour progressivement documentation, scripts, CI pour référencer directement les chemins centralisés.
|
||
3. 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
|
||
```bash
|
||
# 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
|
||
```
|