creating-oracle-to-postgres-migration-integration-tests
为Oracle到PostgreSQL数据库迁移创建集成测试,验证迁移后系统功能和数据完整性。
npx skills add https://github.com/github/awesome-copilot --skill creating-oracle-to-postgres-migration-integration-testsBefore / After 效果对比
1 组迁移后缺乏全面集成测试,系统兼容性与稳定性存疑。
创建集成测试,验证迁移后系统功能,确保数据一致性与稳定。
creating-oracle-to-postgres-migration-integration-tests
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.
Weekly Installs235Repositorygithub/awesome-copilotGitHub Stars25.7KFirst Seen7 days agoSecurity AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled ongemini-cli203codex202opencode195cursor194kimi-cli192github-copilot192
用户评价 (0)
发表评价
暂无评价
统计数据
用户评分
为此 Skill 评分