.NET

Integrationstests

WebApplicationFactory, TestServer, Datenbanktests, HTTP-Client-Tests, Test Fixtures

18 Interview-Fragen·
Mid-Level
1

Was ist WebApplicationFactory in ASP.NET Core?

Antwort

WebApplicationFactory ist eine vom Paket Microsoft.AspNetCore.Mvc.Testing bereitgestellte Klasse, mit der ein In-Memory-Testserver für Integrationstests erstellt werden kann. Sie initialisiert die ASP.NET Core-Anwendung mit allen ihren Abhängigkeiten, ohne ein tatsächliches Deployment zu erfordern, wodurch Tests schnell und isoliert werden. Dieser Ansatz wird empfohlen, da er die Anwendung in einer produktionsnahen Umgebung testet und gleichzeitig die Einrichtungskosten eines echten Servers vermeidet.

2

Was ist der Hauptvorteil der Verwendung von WebApplicationFactory anstelle eines echten HTTP-Servers in Integrationstests?

Antwort

WebApplicationFactory erstellt einen In-Memory-Testserver, wodurch Netzwerklatenz und Deployment-Kosten entfallen und gleichzeitig die volle Kontrolle über die Konfiguration gewährleistet wird. Tests laufen viel schneller, da es keine echte Netzwerkkommunikation oder einen separaten Prozess zu verwalten gibt. Außerdem können Dienste über ConfigureTestServices ersetzt werden, was die Testisolierung und die Simulation verschiedener Szenarien ohne externe Infrastruktur erleichtert.

3

Was ist der Unterschied zwischen einem Unit-Test und einem Integrationstest in ASP.NET Core?

Antwort

Unit-Tests isolieren und testen eine einzelne Codeeinheit (Methode, Klasse), indem alle Abhängigkeiten gemockt werden, während Integrationstests überprüfen, ob mehrere Komponenten korrekt zusammenarbeiten, einschließlich Datenbank, Middleware und echter Dienste. Unit-Tests sind schneller und einfacher, erkennen aber keine Integrationsprobleme, während Integrationstests langsamer sind, aber das Gesamtverhalten der Anwendung validieren. Eine ausgewogene Strategie kombiniert beide Ansätze.

4

Welches NuGet-Paket ist erforderlich, um WebApplicationFactory in Integrationstests zu verwenden?

5

Wie erstellt man einen HTTP-Client, um eine API mit WebApplicationFactory zu testen?

+15 Interview-Fragen

Meistere .NET für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten