SuperAPI AI 工具集

fixture-generator

通用与其它

查看项目

更新于 10-16 05:46

技能介绍

用途:在 CakePHP 项目中,根据迁移文件(migration)生成测试夹具(fixture)类,使夹具与迁移定义的表结构保持一致,并遵循项目约定。

主要能力:以迁移文件为唯一事实来源,提取列定义、类型与约束,保留所有 NOT NULL 要求并包含迁移中定义的全部列;使用 Configure::read() 配置常量而非硬编码值;支持多数据库夹具组织(按命名空间区分,如 [ProjectDefault]、[AppDefault]、[AppClient]);继承对应的基础夹具类;提供列类型到夹具值的映射(如 integer→1、string(255)→'test_value'、datetime→'2024-01-01 00:00:00'、json→JSON 字符串等);处理外键引用(使用 PHPUNIT_COMPANY_ID、PHPUNIT_USER_ID 等测试 ID 常量);处理密码字段(bcrypt 哈希)、JSON 字段、多租户 company_id 与时间戳等特殊情况。

使用方式:读取迁移文件(如 config/Migrations/[AppClient]/[timestamp]_[Name].php),在 tests/Fixture/[AppClient]/[TableName]Fixture.php 生成夹具;生成后可与 cakephp-migration-checker 技能配合校验,比对列定义、检查 Configure::read 用法并确认所有 NOT NULL 字段均有值。

适用场景:CakePHP 4.x 的测试夹具编写,多数据库测试环境,需要夹具严格匹配迁移结构的项目。

限制:资料未提供安装命令、收费信息及具体运行命令;实际使用需结合项目自身的命名空间与配置键。