scaffolding-oracle-to-postgres-migration-test-project

Par github · awesome-copilot

Génère un projet de test d'intégration xUnit pour valider le comportement d'une migration de base de données Oracle vers PostgreSQL dans des solutions .NET. Crée le projet de test, la classe de base avec rollback de transaction et le gestionnaire de données de seed. À utiliser lors de la mise en place de l'infrastructure de test avant d'écrire les tests d'intégration de migration, ou lorsqu'un projet de test est nécessaire pour la validation Oracle vers PostgreSQL.

npx skills add https://github.com/github/awesome-copilot --skill scaffolding-oracle-to-postgres-migration-test-project

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.json configuré 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.

Skills similaires