¿Qué hace scaffolding-oracle-to-postgres-migration-test-project?
Crea un proyecto de prueba de integración xUnit para validar el comportamiento de migración de bases de datos de Oracle a PostgreSQL en soluciones .NET. Genera el proyecto de prueba, la clase base de reversión de transacciones y el administrador de datos semilla. Úsalo al configurar la infraestructura de pruebas antes de escribir pruebas de integración de migración o cuando se necesite un proyecto de prueba para la validación de Oracle a PostgreSQL.
Uso
Ejecuta el siguiente comando para crear el proyecto de prueba:
oracle-scaffold-test <nombre-del-proyecto> <directorio-de-salida>
Donde:
<nombre-del-proyecto>: El nombre del proyecto de prueba (por ejemplo,MigrationTests).<directorio-de-salida>: La ruta donde se creará el proyecto (por ejemplo,./tests).
Ejemplo
oracle-scaffold-test MyMigrationTests ./tests
Archivos generados
| Archivo | Descripción |
|---|---|
{nombre}/xunit.runner.json | Configuración del ejecutor de pruebas xUnit |
{nombre}/{nombre}.csproj | Archivo de proyecto con dependencias necesarias |
{nombre}/TestBase.cs | Clase base con manejo de transacciones y reversión |
{nombre}/SeedDataManager.cs | Administrador de datos semilla para poblar la base de datos |
{nombre}/UnitTest1.cs | Prueba de ejemplo para comenzar |
Requisitos previos
- .NET 6.0 SDK o superior
- Acceso a una instancia de Oracle y PostgreSQL para pruebas
- Paquetes NuGet:
xunit,Oracle.ManagedDataAccess.Core,Npgsql
Funcionalidades
- Reversión automática de transacciones: Cada prueba se ejecuta dentro de una transacción que se revierte automáticamente al finalizar, asegurando un estado limpio de la base de datos.
- Administración de datos semilla: Permite insertar datos de prueba predecibles antes de cada prueba.
- Soporte para migración: Validación de esquemas, datos y procedimientos entre Oracle y PostgreSQL.
Notas
- Asegúrate de tener las cadenas de conexión configuradas en
appsettings.jsono variables de entorno. - Las pruebas deben ejecutarse en orden para evitar conflictos de estado (opcional pero recomendado).
- Revisa la documentación de migración para ajustar los mapeos de tipos de datos específicos.
Contribuciones
Las contribuciones son bienvenidas. Por favor, abre un issue o pull request en el repositorio original.
Licencia
Este proyecto está licenciado bajo la licencia MIT.