Structuration d'un projet de test d'intégration pour la migration Oracle vers PostgreSQL
Crée un projet de test xUnit compilable et vide avec la gestion des transactions et l'infrastructure de données de seed pour un seul projet cible. À exécuter une fois par projet avant de rédiger les tests.
Workflow
Progress:
- [ ] Étape 1 : Inspecter le projet cible
- [ ] Étape 2 : Créer le projet de test xUnit
- [ ] Étape 3 : Implémenter la classe de base avec rollback de transaction
- [ ] Étape 4 : Implémenter le gestionnaire de données de seed
- [ ] Étape 5 : Vérifier que le projet compile
Étape 1 : Inspecter le projet cible
Lire le .csproj du projet cible pour déterminer la version .NET et les références de packages existantes. Faire correspondre ces versions exactement — ne pas mettre à jour.
Étape 2 : Créer le projet de test xUnit
- Cibler la même version .NET que l'application testée.
- Ajouter les packages NuGet pour la connectivité de base de données Oracle et xUnit.
- Ajouter une référence de projet au projet cible uniquement — pas d'autres projets applicatifs.
- Ajouter un
appsettings.jsonconfiguré pour la connectivité de base de données Oracle.
Étape 3 : Implémenter la classe de base avec rollback de transaction
- Créer une classe de test de base qui ouvre une transaction avant chaque test et la restaure après.
- Capturer et gérer toutes les exceptions pour garantir le rollback.
- Rendre le pattern héritable par toutes les classes de test en aval.
Étape 4 : Implémenter le gestionnaire de données de seed
- Créer un gestionnaire de seed global pour charger les données de test dans la portée de la transaction.
- Ne pas valider les données de seed — les transactions sont restaurées après chaque test.
- Ne pas utiliser
TRUNCATE TABLE— préserver les données existantes de la base de données. - Réutiliser les fichiers de seed existants si disponibles.
- Établir une convention de nommage pour l'emplacement du fichier de seed que la création de test en aval respectera.
Étape 5 : Vérifier que le projet compile
Construire le projet de test et confirmer qu'il compile sans erreurs avant de terminer.
Contraintes clés
- Oracle est la source du comportement de référence — structurer pour Oracle en premier.
- S'en tenir aux versions .NET et C# existantes ; ne pas introduire de nouvelles fonctionnalités de langage ou runtime.
- Le résultat est un projet de test vide avec l'infrastructure uniquement — pas de cas de test.