Supertest
Testing 🟢 JuniorDefinition
Librairie de test HTTP pour Node.js qui permet de tester les endpoints d'une API Express/Fastify sans demarrer un vrai serveur.
Analogie
Comme tester un interphone sans sortir de l'immeuble : vous simulez l'appel de l'exterieur depuis l'interieur.
Exemple de code
const request = require('supertest');
const app = require('../app');
test('GET /users returns 200', async () => {
const res = await request(app)
.get('/users')
.expect(200);
expect(res.body).toHaveLength(3);
});
Cas d'usage
Pour tester rapidement les routes d'une API Node.js dans les tests d'integration sans serveur reel.
Anti-pattern
Utiliser Supertest pour des tests E2E complets alors qu'il ne teste que la couche HTTP.