Hermetic Tests
Testing 🔴 SeniorDefinition
Tests completement auto-contenus sans aucune dependance externe (reseau, API tierces, horloge systeme). Tout est controle et reproductible a 100%.
Analogie
Comme un laboratoire en salle blanche : l'environnement est totalement controle, rien de l'exterieur ne peut influencer le resultat.
Exemple de code
// Hermetique : controle du temps
vi.useFakeTimers();
vi.setSystemTime(new Date('2024-01-01'));
// Hermetique : mock reseau
const server = setupServer(
http.get('/api/data', () => HttpResponse.json({}))
);
// Aucune requete reelle ne sort
Cas d'usage
Pour les tests en CI/CD qui doivent fonctionner identiquement sur n'importe quelle machine sans acces reseau.
Anti-pattern
Appeler de vraies API tierces dans les tests, les rendant dependants de la disponibilite externe.