
Testy integracyjne
WebApplicationFactory, TestServer, testowanie bazy danych, testowanie klienta HTTP, test fixtures
1Czym jest WebApplicationFactory w ASP.NET Core?
Czym jest WebApplicationFactory w ASP.NET Core?
Odpowiedź
WebApplicationFactory to klasa dostarczana przez pakiet Microsoft.AspNetCore.Mvc.Testing, która umożliwia tworzenie serwera testowego w pamięci do testów integracyjnych. Inicjalizuje aplikację ASP.NET Core ze wszystkimi jej zależnościami bez konieczności rzeczywistego wdrożenia, dzięki czemu testy są szybkie i izolowane. To podejście jest zalecane, ponieważ testuje aplikację w środowisku zbliżonym do produkcyjnego, unikając jednocześnie kosztów konfiguracji prawdziwego serwera.
2Jaka jest główna zaleta używania WebApplicationFactory zamiast prawdziwego serwera HTTP w testach integracyjnych?
Jaka jest główna zaleta używania WebApplicationFactory zamiast prawdziwego serwera HTTP w testach integracyjnych?
Odpowiedź
WebApplicationFactory tworzy serwer testowy w pamięci, co eliminuje opóźnienia sieciowe i koszty wdrożenia, zapewniając jednocześnie pełną kontrolę nad konfiguracją. Testy wykonują się znacznie szybciej, ponieważ nie ma rzeczywistej komunikacji sieciowej ani osobnego procesu do zarządzania. Ponadto usługi można zastąpić za pomocą ConfigureTestServices, co ułatwia izolację testów i symulację różnych scenariuszy bez zewnętrznej infrastruktury.
3Jaka jest różnica między testem jednostkowym a testem integracyjnym w ASP.NET Core?
Jaka jest różnica między testem jednostkowym a testem integracyjnym w ASP.NET Core?
Odpowiedź
Testy jednostkowe izolują i testują pojedynczą jednostkę kodu (metodę, klasę) poprzez mockowanie wszystkich zależności, podczas gdy testy integracyjne weryfikują, czy wiele komponentów współpracuje poprawnie, w tym baza danych, middleware i rzeczywiste usługi. Testy jednostkowe są szybsze i prostsze, ale nie wykrywają problemów integracyjnych, podczas gdy testy integracyjne są wolniejsze, ale walidują ogólne zachowanie aplikacji. Zrównoważona strategia łączy oba podejścia.
Który pakiet NuGet jest wymagany do użycia WebApplicationFactory w testach integracyjnych?
Jak utworzyć klienta HTTP do testowania API za pomocą WebApplicationFactory?
+15 pytań z rozmów
Inne tematy rekrutacyjne .NET
Podstawy C#
LINQ & Delegates
Podstawy języka C#
Podstawy ASP.NET Core
Cykl życia żądania w ASP.NET Core
Configuration & Settings
Cykl życia aplikacji
Dependency Injection
Entity Framework Core
Minimal APIs
Tworzenie Web API
Async w ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serializacja JSON
Entity Framework Core zaawansowany
Zaawansowane funkcje C#
Clean Architecture
Logging, Monitoring & Observability
Testy jednostkowe & xUnit
Docker & Containerization
Zarządzanie pakietami NuGet
Memory Management & GC
Programowanie reaktywne
Async/await i wzorce
.NET Design Patterns
Optymalizacja wydajności
Bezpieczeństwo i Best Practices
SignalR i czas rzeczywisty
Architektura Mikroserwisów
Opanuj .NET na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo