.NET

Test di integrazione

WebApplicationFactory, TestServer, test di database, test del client HTTP, test fixtures

18 domande da colloquio·
Mid-Level
1

Cos'è WebApplicationFactory in ASP.NET Core?

Risposta

WebApplicationFactory è una classe fornita dal pacchetto Microsoft.AspNetCore.Mvc.Testing che consente di creare un server di test in memoria per i test di integrazione. Inizializza l'applicazione ASP.NET Core con tutte le sue dipendenze senza richiedere un deployment reale, rendendo i test veloci e isolati. Questo approccio è consigliato perché testa l'applicazione in un ambiente vicino alla produzione evitando i costi di configurazione di un server reale.

2

Qual è il principale vantaggio dell'utilizzo di WebApplicationFactory invece di un server HTTP reale nei test di integrazione?

Risposta

WebApplicationFactory crea un server di test in memoria, eliminando la latenza di rete e i costi di deployment, offrendo al contempo il pieno controllo sulla configurazione. I test vengono eseguiti molto più velocemente perché non c'è comunicazione di rete reale né un processo separato da gestire. Inoltre, i servizi possono essere sostituiti tramite ConfigureTestServices, il che facilita l'isolamento dei test e la simulazione di diversi scenari senza infrastruttura esterna.

3

Qual è la differenza tra un test unitario e un test di integrazione in ASP.NET Core?

Risposta

I test unitari isolano e testano una singola unità di codice (metodo, classe) facendo il mocking di tutte le dipendenze, mentre i test di integrazione verificano che più componenti funzionino correttamente insieme, inclusi il database, il middleware e i servizi reali. I test unitari sono più veloci e semplici ma non rilevano problemi di integrazione, mentre i test di integrazione sono più lenti ma validano il comportamento globale dell'applicazione. Una strategia equilibrata combina entrambi gli approcci.

4

Quale pacchetto NuGet è necessario per usare WebApplicationFactory nei test di integrazione?

5

Come creare un client HTTP per testare un'API con WebApplicationFactory?

+15 domande da colloquio

Padroneggia .NET per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis