关于 scaffolding-oracle-to-postgres-migration-test-project
此技能为 Oracle 到 PostgreSQL 迁移工作搭建空的 xUnit 集成测试项目,供开发者在编写测试用例前准备 Oracle 测试基础设施。
主要功能
- 01匹配目标项目的 .NET 和软件包版本
- 02创建连接 Oracle 的 xUnit 项目
- 03添加事务回滚测试基础类
- 04添加事务范围内的种子数据管理
- 05构建项目并检查编译
适用场景
- 01在迁移 Phase 3 搭建 Oracle 测试项目
- 02准备不提交种子数据的回滚式测试
- 03添加测试用例前验证基础设施可编译
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill scaffolding-oracle-to-postgres-migration-test-project安装后在 Claude Code 中输入/scaffolding-oracle-to-postgres-migration-test-project确认已加载。
详细介绍
为 Oracle 到 PostgreSQL 迁移搭建集成测试项目脚手架
为单个目标项目创建一个可编译的空 xUnit 测试项目,包含事务管理和种子数据基础设施。在编写测试之前,每个项目运行一次。
工作流
Progress:
- [ ] Step 1: Inspect the target project
- [ ] Step 2: Create the xUnit test project
- [ ] Step 3: Implement transaction-rollback base class
- [ ] Step 4: Implement seed data manager
- [ ] Step 5: Verify the project compiles
步骤 1:检查目标项目
读取目标项目的 .csproj,以确定 .NET 版本和现有包引用。完全匹配这些版本——不要升级。
步骤 2:创建 xUnit 测试项目
- 将目标框架设为与被测应用程序相同的 .NET 版本。
- 添加用于 Oracle 数据库连接的 NuGet 包(
Oracle.ManagedDataAccess.Core)和 xUnit。 - 仅添加对目标项目的项目引用——不要添加其他应用程序项目。
- 添加一个为 Oracle 数据库连接配置的
appsettings.json。
步骤 3:实现事务回滚基类
- 创建一个基测试类,在每个测试前开启事务,并在测试后回滚。
- 捕获并处理所有异常,以保证回滚。
- 使该模式可被所有下游测试类继承。
步骤 4:实现种子数据管理器
- 创建一个全局种子管理器,用于在事务范围内加载测试数据。
- 不要提交种子数据——事务会在每个测试后回滚。
- 不要使用
TRUNCATE TABLE——保留现有数据库数据。 - 为种子文件位置建立命名约定,供下游创建测试时遵循。
步骤 5:验证项目可编译
构建测试项目,并确认在完成前可零错误编译。
关键约束
- 仅限第 3 阶段——此技能搭建面向 Oracle 的测试项目。PostgreSQL 测试项目(第 6 阶段)通过复制并迁移此项目来创建;届时不要再次运行此技能。
- Oracle 是基准行为来源——仅为 Oracle 搭建脚手架,而不是 PostgreSQL。
- 保持现有的 .NET 和 C# 版本;不要引入更新的语言或运行时特性。
- 输出是一个仅包含基础设施的空测试项目——不包含测试用例。
评论
支持 Markdown