
Test di integrazione
WebApplicationFactory, TestServer, test di database, test del client HTTP, test fixtures
1Cos'è WebApplicationFactory in ASP.NET Core?
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.
2Qual è il principale vantaggio dell'utilizzo di WebApplicationFactory invece di un server HTTP reale nei test di integrazione?
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.
3Qual è la differenza tra un test unitario e un test di integrazione in ASP.NET Core?
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.
Quale pacchetto NuGet è necessario per usare WebApplicationFactory nei test di integrazione?
Come creare un client HTTP per testare un'API con WebApplicationFactory?
+15 domande da colloquio
Altri argomenti di colloquio .NET
Fondamenti di C#
LINQ & Delegates
Fondamenti del linguaggio C#
Fondamenti di ASP.NET Core
Ciclo di vita delle richieste in ASP.NET Core
Configuration & Settings
Ciclo di vita dell'applicazione
Dependency Injection
Entity Framework Core
Minimal APIs
Sviluppo di Web API
Async in ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serializzazione JSON
Entity Framework Core avanzato
Funzionalità avanzate di C#
Clean Architecture
Logging, Monitoring & Observability
Test unitari & xUnit
Docker & Containerization
Gestione dei pacchetti NuGet
Memory Management & GC
Programmazione reattiva
Async/await & Pattern
.NET Design Patterns
Ottimizzazione delle prestazioni
Sicurezza e Best Practices
SignalR e tempo reale
Architettura a Microservizi
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