
Integrationstests
WebApplicationFactory, TestServer, Datenbanktests, HTTP-Client-Tests, Test Fixtures
1Was ist WebApplicationFactory in ASP.NET Core?
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.
2Was ist der Hauptvorteil der Verwendung von WebApplicationFactory anstelle eines echten HTTP-Servers in Integrationstests?
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.
3Was ist der Unterschied zwischen einem Unit-Test und einem Integrationstest in ASP.NET Core?
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.
Welches NuGet-Paket ist erforderlich, um WebApplicationFactory in Integrationstests zu verwenden?
Wie erstellt man einen HTTP-Client, um eine API mit WebApplicationFactory zu testen?
+15 Interview-Fragen
Weitere .NET-Interviewthemen
C#-Grundlagen
LINQ & Delegates
C#-Sprachgrundlagen
ASP.NET Core Grundlagen
ASP.NET Core Request-Lebenszyklus
Configuration & Settings
Anwendungslebenszyklus
Dependency Injection
Entity Framework Core
Minimal APIs
Web-API-Entwicklung
Async in ASP.NET Core
Authentication & Authorization
HttpClient & Networking
JSON-Serialisierung
Entity Framework Core fortgeschritten
Erweiterte C#-Funktionen
Clean Architecture
Logging, Monitoring & Observability
Unit-Tests & xUnit
Docker & Containerization
NuGet Package Management
Memory Management & GC
Reaktive Programmierung
Async/await & Patterns
.NET Design Patterns
Performance-Optimierung
Sicherheit & Best Practices
SignalR & Echtzeit
Microservices-Architektur
Meistere .NET für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten