← Journal technique
OpenDerja_TN·ingénierie

Tester les guards avec la vraie chose, pas un mock

Guards read decorator metadata, so testing them against a mocked Reflector asserts the mock's idea of the decorators rather than what they actually say.

Le filet avait un trou

Le test, le journal d'audit, le scanner, la CI — couvrant moins que je ne le supposais.

En construisant la couverture d'authentification, j'ai délibérément testé la chaîne de guards contre un vrai Reflector plutôt qu'un mock. Les guards portent presque entièrement sur la lecture des métadonnées de décorateurs, donc un reflector mocké teste l'idée que le mock se fait de ce que disent les décorateurs — ce qui est exactement la chose qui peut diverger de ce qu'ils disent réellement. C'est la différence entre un test qui attraperait un @Superadmin() mal appliqué et un qui ne l'attraperait pas.