
Test end-to-end
Supertest, database di test, fixtures, autenticazione nei test, test delle API
1Che cos'è un test E2E (end-to-end) nel contesto di NestJS?
Che cos'è un test E2E (end-to-end) nel contesto di NestJS?
Risposta
Un test E2E convalida il flusso completo dell'applicazione, dalla richiesta HTTP alla risposta, attraverso tutti i layer (controller, service, database). A differenza dei test unitari che isolano un componente, i test E2E verificano che l'integrazione di tutti i componenti funzioni correttamente. Questo permette di individuare bug di integrazione che i test unitari non riescono a catturare.
2Qual è la libreria raccomandata da NestJS per i test E2E?
Qual è la libreria raccomandata da NestJS per i test E2E?
Risposta
Supertest è la libreria raccomandata per i test E2E in NestJS perché permette di testare gli endpoint HTTP senza avviare il server su una porta di rete. Crea un'istanza isolata dell'applicazione e invia richieste HTTP simulate direttamente. Questo rende i test più veloci, più affidabili ed evita conflitti di porte tra test paralleli.
3Come ottenere l'istanza del server HTTP per Supertest in un test NestJS?
Come ottenere l'istanza del server HTTP per Supertest in un test NestJS?
Risposta
Il metodo app.getHttpServer() restituisce l'istanza del server HTTP sottostante (Express o Fastify) che può essere passata a Supertest per effettuare richieste di test. Questo metodo è disponibile dopo aver creato il modulo di test con Test.createTestingModule(). Permette a Supertest di accedere direttamente al server senza doverlo avviare su una porta di rete.
In quale file vengono tipicamente collocati i test E2E in un progetto NestJS?
Quale metodo di Supertest permette di verificare lo status code di una risposta HTTP?
+17 domande da colloquio
Altri argomenti di colloquio Node.js / NestJS
Fondamenti di Node.js
API Core di Node.js
Programmazione asincrona
Fondamenti di Express.js
Fondamenti di NestJS
Progettazione di API REST
Validazione e DTO
Documentazione API e contratti
Gestione degli errori
Test unitari
Pianificazione delle attività
Moduli e DI di NestJS
Configurazione e gestione degli ambienti
Autenticazione JWT
Autorizzazione e RBAC
Database con TypeORM
Prisma ORM
Middleware e Interceptor
Caricamento file
WebSockets
GraphQL con NestJS
Caching con Redis
Code con Bull
DevOps, Logging e CI/CD
Docker e containerizzazione
Microservices
Migliori pratiche di sicurezza
Performance e deployment cloud
Padroneggia Node.js / NestJS per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis