Qu'est-ce que le test d'API, et pourquoi tester à la couche API ?
Le test d'API vérifie directement la couche service — vous envoyez une requête et faites vos assertions sur la réponse, sans navigateur.
Le test d'API vérifie directement la couche service — vous envoyez une requête et faites vos assertions sur la réponse, sans navigateur. Vous vérifiez le statut, le corps, les en-têtes et le comportement là où la logique vit réellement.
Vous testez ici parce que c'est plus rapide, plus stable et plus proche du bug que l'UI. Une règle métier cassée apparaît dans la réponse de l'API bien avant de se manifester comme un bouton mal étiqueté, et un test d'API n'est pas instable à cause d'un rendu lent.
Une règle de remise qui n'échouait que pour les paniers de plus de 500 $ était invisible dans les tests d'UI — le total semblait plausible. Un seul appel d'API avec un panier de 600 $ renvoyait un total erroné, attrapé en quelques secondes.
- Tester le service directement : requête en entrée, assertion sur la réponse
- Plus rapide et moins instable que l'UI — pas de navigateur, pas d'attente de rendu
- Attrape la logique cassée à la couche où elle vit
Non — l'UI a ses propres bugs (rendu, câblage, accessibilité). Les tests d'API couvrent la logique à moindre coût pour que les rares tests d'UI que vous gardez se concentrent sur le parcours utilisateur, pas sur les règles métier.
La couche du milieu — plus que les tests d'UI end-to-end, moins que les tests unitaires. Assez large pour couvrir les intégrations, assez peu coûteux pour tourner à chaque push.
Ne dites pas « le test d'API remplace le test d'UI » — ils couvrent des modes de défaillance différents. Dire que l'un supprime le besoin de l'autre se lit comme junior.