Prérequis
Solide expérience C# et architecture .NET. Compréhension des patterns d’injection de dépendances et des fondamentaux du testing unitaire.
Durée
2 jours
Contenu Technique de la Formation
xUnit.net est le framework de test moderne pour .NET, plus léger que NUnit et mieux intégré dans l’écosystème. Cette formation couvre les attributs [Fact]/[Theory], les fixtures, la paramétrisation avec données externes et l’intégration CI/CD.
- [Fact] et [Theory] — tests simples vs tests paramétrés avec InlineData, MemberData, ClassData
- xUnit Fixtures — IClassFixture, ICollectionFixture et partage d’état entre tests
- Assertions et extensions — Xunit.Sdk.Assert, fluent assertions pour clarté
- Mocking avec Moq — stub, spy, Mock
et vérification d’appels - Couverture de code avec coverlet — rapports LCOV et seuils de couverture
- Intégration CI/CD — GitHub Actions, Azure Pipelines, xunit reporters XML/JSON
Objectifs de la Formation
Les objectifs visés par cette formation sont :
- Structurer les tests avec [Fact] et [Theory] pour une couverture exhaustive
- Implémenter des fixtures partagées pour optimiser l’initialisation
- Configurer les mocks Moq pour isoler les dépendances
- Intégrer xUnit dans des pipelines CI/CD et générer des rapports
- Évaluer la couverture avec coverlet et établir des seuils
- Diagnostiquer des flakiness et des race conditions en tests parallèles
Table des Matières
Fondamentaux xUnit et structure de test
- Attributs [Fact], [Theory], [InlineData]
- Arrange-Act-Assert pattern
- Nommage conventionnel : UnitOfWork_Scenario_ExpectedResult
- Assertions claires avec messages d’erreur
Données paramétrées et sources externes
- [InlineData] et multiples cas en une seule théorie
- [MemberData] : sources de données depuis propriétés/méthodes
- [ClassData] : providers de données réutilisables
- Combinaison de sources : matrix testing
Fixtures et dépendances partagées
- IClassFixture
pour initialisation par classe - ICollectionFixture
pour partage cross-class - Lifecycle : ctor, Dispose, IAsyncLifetime
- WebApplicationFactory pour intégration ASP.NET
Mocking et isolation avec Moq
- Mock
, Stub et vérification d’appels - Setup, Verify et Times
- Return values et exceptions
- Callbacks et side effects
- Moq for async : ReturnsAsync, ThrowsAsync
Couverture, rapports et CI/CD
- coverlet : MSBuild integration et génération LCOV
- Seuils de couverture et fail on coverage
- xunit.runner.visualstudio et Visual Studio Test Explorer
- GitHub Actions : setup-dotnet, run tests, publish results
- Azure Pipelines : vstest, PublishTestResults task
En Pratique
Fondamentaux de xUnit
- Créer des tests avec [Fact] et [Theory] et assertions fluides
- Organiser les tests avec AAA (Arrange, Act, Assert)
Mocking et test de dépendances
- Utiliser Moq pour isoler les dépendances externes
- Tester les appels HTTP et les services asynchrones
Test-Driven Development
- Écrire les tests avant le code pour guider le design
- Refactoriser le code en itérations de Red-Green-Refactor
Coverage et intégration CI/CD
- Mesurer la couverture de code avec OpenCover
- Intégrer xUnit dans GitHub Actions ou Azure Pipelines
Modalités et Inscription
Cette formation est proposée selon deux formules pour s'adapter au mieux à vos besoins :
Session régulière
Des sessions sont organisées à intervalles réguliers. Demandez les prochaines dates planifiées pour vous inscrire à la prochaine session.
Sur mesure & intra-entreprise
Vous souhaitez former vos équipes directement dans vos locaux ou adapter le programme technique à votre contexte d'entreprise ? Contactez-nous pour obtenir un devis personnalisé.