
This walks you through creating xUnit integration tests for .NET data access code during an Oracle to Postgres migration. It generates tests that run against both databases to prove behavioral consistency, using deterministic seed data and database-agnostic assertions. The workflow is prescriptive: discover your test project conventions, identify repositories and DAOs to test, create seed files, write test cases that inherit from your base class for automatic transaction rollback, then review every assertion for determinism. Oracle is treated as the source of truth. The main value is keeping test logic portable so the same tests validate both pre-migration Oracle behavior and post-migration Postgres behavior without rewriting assertions around platform-specific error messages or syntax quirks.
$ npx -y skills add github/awesome-copilot --skill creating-oracle-to-postgres-migration-integration-tests --agent claude-codeInstalls into .claude/skills of the current project.
Generates integration test cases for data access artifacts in a single target project. Tests target Oracle and capture its behavior as the authoritative baseline. They are written to be logically portable — so they can survive Phase 6 migration without rewriting — but they do not run against PostgreSQL at this stage.
Test Creation:
- [ ] Step 1: Discover the test project conventions
- [ ] Step 2: Identify testable data access artifacts
- [ ] Step 3: Create seed data
- [ ] Step 4: Write test cases
- [ ] Step 5: Review determinism
Step 1: Discover the test project conventions
Read the base test class, seed manager, and project file to understand inheritance patterns, transaction management, and seed file conventions.
Step 2: Identify testable data access artifacts
Scope to the target project only. List data access methods that interact with the database — repositories, DAOs, stored procedure callers, query builders.
Step 3: Create seed data
TRUNCATE TABLE — keep existing database data intact.LookupConstants class for stable lookup IDs/codes used across seed builders and assertions.Step 4: Write test cases
NULL/missing input coverage where applicable.Step 5: Review determinism
Re-examine every assertion against non-null values. Confirm each is deterministic against the seeded data. Fix any assertion that depends on database state outside the test's control.
Sponsors