
Tests unitaires & xUnit
xUnit framework, test cases, assertions, Moq, FluentAssertions, code coverage, TDD principles
1Qu'est-ce que xUnit dans le contexte de .NET ?
Qu'est-ce que xUnit dans le contexte de .NET ?
Réponse
xUnit est un framework de tests unitaires open-source pour .NET, inspiré de JUnit et NUnit. Il utilise des attributs comme [Fact] pour les tests simples et [Theory] pour les tests paramétrés. xUnit encourage les bonnes pratiques comme l'isolation des tests (chaque test crée une nouvelle instance de la classe de test) et évite les états partagés via les méthodes Setup/Teardown traditionnelles.
2Quelle est la différence entre [Fact] et [Theory] dans xUnit ?
Quelle est la différence entre [Fact] et [Theory] dans xUnit ?
Réponse
[Fact] décore un test simple qui s'exécute une seule fois sans paramètres, tandis que [Theory] décore un test paramétré qui s'exécute plusieurs fois avec différentes valeurs fournies via [InlineData], [MemberData] ou [ClassData]. Utiliser [Theory] permet d'éviter la duplication de code pour tester plusieurs scénarios similaires avec des données différentes.
3Comment utiliser [InlineData] avec [Theory] dans xUnit ?
Comment utiliser [InlineData] avec [Theory] dans xUnit ?
Réponse
[InlineData] fournit des données directement dans l'attribut pour un test [Theory], permettant d'exécuter le même test avec différentes valeurs. Chaque attribut [InlineData] représente un cas de test distinct. Cette approche est idéale pour tester plusieurs scénarios simples sans créer de classes de données séparées, réduisant ainsi le code boilerplate.
Quel est l'avantage principal de Moq dans les tests unitaires .NET ?
Comment configurer un mock avec Moq pour qu'une méthode retourne une valeur spécifique ?
+17 questions d'entretien
Autres sujets d'entretien .NET
Les bases de C#
LINQ & Delegates
Essentiels du langage C#
Fondamentaux ASP.NET Core
Cycle de vie des requêtes ASP.NET Core
Configuration & Settings
Cycle de vie de l'application
Dependency Injection
Entity Framework Core
Minimal APIs
Développement Web API
Async côté ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Sérialisation JSON
Entity Framework Core avancé
Fonctionnalités avancées C#
Clean Architecture
Logging, Monitoring & Observability
Tests d'intégration
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programmation réactive
Async/await & Patterns
.NET Design Patterns
Optimisation des performances
Sécurité & Best Practices
SignalR & Real-time
Architecture Microservices
Maîtrise .NET pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement