.NET

Testy integracyjne

WebApplicationFactory, TestServer, testowanie bazy danych, testowanie klienta HTTP, test fixtures

18 pytań z rozmów·
Mid-Level
1

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.

2

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.

3

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.

4

Który pakiet NuGet jest wymagany do użycia WebApplicationFactory w testach integracyjnych?

5

Jak utworzyć klienta HTTP do testowania API za pomocą WebApplicationFactory?

+15 pytań z rozmó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