Creating Integration Tests for Oracle-to-PostgreSQL Migration
Generates integration test cases for data access artifacts in a single target project. Tests validate behavior consistency when running against Oracle or PostgreSQL.
Prerequisites
- •The test project must already exist and compile (scaffolded separately).
- •Read the existing base test class and seed manager conventions before writing tests.
Workflow
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
- •Follow seed file location and naming conventions from the existing project.
- •Reuse existing seed files when possible.
- •Avoid
TRUNCATE TABLE— keep existing database data intact. - •Do not commit seed data; tests run in transactions that roll back.
- •Ensure seed data does not conflict with other tests.
- •Load and verify seed data before assertions depend on it.
Step 4: Write test cases
- •Inherit from the base test class to get automatic transaction create/rollback.
- •Assert logical outputs (rows, columns, counts, error types), not platform-specific messages.
- •Assert specific expected values — never assert that a value is merely non-null or non-empty when a concrete value is available from seed data.
- •Avoid testing code paths that do not exist or asserting behavior that cannot occur.
- •Avoid redundant assertions across tests targeting the same method.
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.
Key Constraints
- •Oracle is the golden source — tests capture Oracle's expected behavior.
- •DB-agnostic assertions — no platform-specific error messages or syntax in assertions.
- •Seed only against Oracle — test project will be migrated to PostgreSQL later.
- •Scoped to one project — do not create tests for artifacts outside the target project.