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

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

github.com/github测试与质量40.5k1.7k 次安装今天更新
代码仓库

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

此技能为 Oracle 到 PostgreSQL 迁移工作搭建空的 xUnit 集成测试项目,供开发者在编写测试用例前准备 Oracle 测试基础设施。

主要功能

  1. 01匹配目标项目的 .NET 和软件包版本
  2. 02创建连接 Oracle 的 xUnit 项目
  3. 03添加事务回滚测试基础类
  4. 04添加事务范围内的种子数据管理
  5. 05构建项目并检查编译

适用场景

  1. 01在迁移 Phase 3 搭建 Oracle 测试项目
  2. 02准备不提交种子数据的回滚式测试
  3. 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