Node.js / NestJS

Test end-to-end

Supertest, database di test, fixtures, autenticazione nei test, test delle API

20 domande da colloquio·
Mid-Level
1

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.

2

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.

3

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.

4

In quale file vengono tipicamente collocati i test E2E in un progetto NestJS?

5

Quale metodo di Supertest permette di verificare lo status code di una risposta HTTP?

+17 domande da colloquio

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