SuperAPI AI 工具集

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

数据与分析

查看项目

更新于 10-15 21:52

技能介绍

用途:该技能为单个目标项目搭建面向 Oracle 的 xUnit 集成测试项目脚手架,生成可编译的空测试项目及事务管理、种子数据基础设施,供后续编写测试使用。每个项目运行一次。

主要能力与流程:

  1. 检查目标项目:读取目标项目的 .csproj,确定 .NET 版本与现有包引用,严格匹配版本,不升级。
  2. 创建 xUnit 测试项目:使用与被测应用相同的 .NET 版本;添加 Oracle 数据库连接包 Oracle.ManagedDataAccess.Core 与 xUnit 的 NuGet 包;仅添加对目标项目的项目引用;添加配置 Oracle 连接的 appsettings.json。
  3. 实现事务回滚基类:每个测试前开启事务、测试后回滚;捕获并处理所有异常以保证回滚;模式可被下游测试类继承。
  4. 实现种子数据管理器:创建全局种子管理器,在事务范围内加载测试数据;不提交种子数据;不使用 TRUNCATE TABLE,保留现有数据库数据;建立种子文件位置的命名约定。
  5. 验证编译:构建测试项目并确认零错误。

适用场景:Oracle 到 PostgreSQL 迁移的测试准备阶段,以 Oracle 为基准行为来源,仅针对 Oracle 搭建脚手架。

限制:仅限第三阶段,PostgreSQL 测试项目(第六阶段)通过复制并迁移本项目创建,届时不再运行本技能;保持现有 .NET 与 C# 版本,不引入更新的语言或运行时特性;输出仅为含基础设施的空测试项目,不含测试用例。