
Testy jednostkowe & xUnit
Framework xUnit, przypadki testowe, assertions, Moq, FluentAssertions, pokrycie kodu, zasady TDD
1Czym jest xUnit w kontekście .NET?
Czym jest xUnit w kontekście .NET?
Odpowiedź
xUnit to open-source'owy framework do testów jednostkowych dla .NET, inspirowany JUnit i NUnit. Wykorzystuje atrybuty takie jak [Fact] do prostych testów oraz [Theory] do testów parametryzowanych. xUnit promuje dobre praktyki, takie jak izolacja testów (każdy test tworzy nową instancję klasy testowej) i unika współdzielonego stanu poprzez tradycyjne metody Setup/Teardown.
2Jaka jest różnica między [Fact] a [Theory] w xUnit?
Jaka jest różnica między [Fact] a [Theory] w xUnit?
Odpowiedź
[Fact] dekoruje prosty test, który uruchamia się raz bez parametrów, podczas gdy [Theory] dekoruje test parametryzowany, który uruchamia się wielokrotnie z różnymi wartościami dostarczanymi przez [InlineData], [MemberData] lub [ClassData]. Użycie [Theory] pozwala uniknąć duplikacji kodu podczas testowania wielu podobnych scenariuszy z różnymi danymi.
3Jak używać [InlineData] z [Theory] w xUnit?
Jak używać [InlineData] z [Theory] w xUnit?
Odpowiedź
[InlineData] dostarcza dane bezpośrednio w atrybucie dla testu [Theory], umożliwiając uruchomienie tego samego testu z różnymi wartościami. Każdy atrybut [InlineData] reprezentuje odrębny przypadek testowy. To podejście jest idealne do testowania wielu prostych scenariuszy bez tworzenia osobnych klas danych, redukując kod boilerplate.
Jaka jest główna zaleta Moq w testach jednostkowych .NET?
Jak skonfigurować mock za pomocą Moq, aby metoda zwracała określoną wartość?
+17 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 integracyjne
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