
Unit-Tests & xUnit
xUnit-Framework, Testfälle, Assertions, Moq, FluentAssertions, Code Coverage, TDD-Prinzipien
1Was ist xUnit im Kontext von .NET?
Was ist xUnit im Kontext von .NET?
Antwort
xUnit ist ein Open-Source-Framework für Unit-Tests in .NET, inspiriert von JUnit und NUnit. Es verwendet Attribute wie [Fact] für einfache Tests und [Theory] für parametrisierte Tests. xUnit fördert Best Practices wie Testisolation (jeder Test erstellt eine neue Instanz der Testklasse) und vermeidet gemeinsam genutzten Zustand über traditionelle Setup/Teardown-Methoden.
2Was ist der Unterschied zwischen [Fact] und [Theory] in xUnit?
Was ist der Unterschied zwischen [Fact] und [Theory] in xUnit?
Antwort
[Fact] kennzeichnet einen einfachen Test, der einmal ohne Parameter ausgeführt wird, während [Theory] einen parametrisierten Test kennzeichnet, der mehrmals mit verschiedenen Werten ausgeführt wird, die über [InlineData], [MemberData] oder [ClassData] bereitgestellt werden. Die Verwendung von [Theory] vermeidet Codeduplizierung beim Testen mehrerer ähnlicher Szenarien mit unterschiedlichen Daten.
3Wie verwendet man [InlineData] mit [Theory] in xUnit?
Wie verwendet man [InlineData] mit [Theory] in xUnit?
Antwort
[InlineData] stellt Daten direkt im Attribut für einen [Theory]-Test bereit, sodass derselbe Test mit verschiedenen Werten ausgeführt werden kann. Jedes [InlineData]-Attribut stellt einen eigenen Testfall dar. Dieser Ansatz eignet sich ideal zum Testen mehrerer einfacher Szenarien, ohne separate Datenklassen zu erstellen, und reduziert Boilerplate-Code.
Was ist der Hauptvorteil von Moq bei Unit-Tests in .NET?
Wie konfiguriert man einen Mock mit Moq, sodass eine Methode einen bestimmten Wert zurückgibt?
+17 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
Integrationstests
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