
Tests end-to-end
Supertest, base de données de test, fixtures, authentification dans les tests, tests d'API
1Qu'est-ce qu'un test E2E (end-to-end) dans le contexte NestJS ?
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.
2Quelle est la librairie recommandée par NestJS pour les tests E2E ?
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.
3Comment obtenir l'instance du serveur HTTP pour Supertest dans un test NestJS ?
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.
Dans quel fichier sont typiquement placés les tests E2E dans un projet NestJS ?
Quelle méthode Supertest permet de vérifier le status code d'une réponse HTTP ?
+17 questions d'entretien
Autres sujets d'entretien Node.js / NestJS
Fondamentaux Node.js
APIs Core Node.js
Programmation asynchrone
Bases Express.js
Fondamentaux NestJS
Conception d'API REST
Validation et DTO
Documentation d'API
Gestion des erreurs
Tests unitaires
Planification de tâches
Modules et DI NestJS
Configuration et environnements
Authentification JWT
Autorisation et RBAC
Base de données avec TypeORM
Prisma ORM
Middleware et Interceptors
Upload de fichiers
WebSockets
GraphQL avec NestJS
Cache avec Redis
Files d'attente avec Bull
DevOps, Logging et CI/CD
Docker et Containerization
Microservices
Bonnes pratiques de sécurité
Performance et Déploiement Cloud
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