Node.js / NestJS

Tests end-to-end

Supertest, base de données de test, fixtures, authentification dans les tests, tests d'API

20 questions d'entretien·
Confirmé
1

Qu'est-ce qu'un test E2E (end-to-end) dans le contexte NestJS ?

Réponse

Un test E2E valide le flux complet de l'application, de la requête HTTP jusqu'à la réponse, en passant par tous les layers (controller, service, database). Contrairement aux tests unitaires qui isolent un composant, les tests E2E vérifient que l'intégration de tous les composants fonctionne correctement. Cela permet de détecter des bugs d'intégration que les tests unitaires ne peuvent pas capturer.

2

Quelle est la librairie recommandée par NestJS pour les tests E2E ?

Réponse

Supertest est la librairie recommandée pour les tests E2E dans NestJS car elle permet de tester les endpoints HTTP sans démarrer le serveur sur un port réseau. Elle crée une instance isolée de l'application et envoie des requêtes HTTP simulées directement. Cela rend les tests plus rapides, plus fiables et évite les conflits de ports entre tests parallèles.

3

Comment obtenir l'instance du serveur HTTP pour Supertest dans un test NestJS ?

Réponse

La méthode app.getHttpServer() retourne l'instance du serveur HTTP sous-jacent (Express ou Fastify) qui peut être passée à Supertest pour effectuer des requêtes de test. Cette méthode est disponible après la création du module de test avec Test.createTestingModule(). Elle permet à Supertest d'accéder directement au serveur sans avoir à le démarrer sur un port réseau.

4

Dans quel fichier sont typiquement placés les tests E2E dans un projet NestJS ?

5

Quelle méthode Supertest permet de vérifier le status code d'une réponse HTTP ?

+17 questions d'entretien

Maîtrise Node.js / NestJS pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement