SuperAPI AI 工具集

laravel-testing

测试与质量

查看项目

更新于 10-15 21:48

技能介绍

用途:在 Laravel 13 上编写控制器、服务、模型测试,或实施 TDD。兼容 Pest 5 / PHPUnit 13(需 PHP 8.4+,pest-plugin-laravel ^5.0 需 Laravel ^13.23),PHP 8.3 环境则用 Pest 4 / PHPUnit 12。

主要能力:按测试类型分流——HTTP 全栈用 Feature(tests/Feature/),隔离类用 Unit(tests/Unit/),代码结构用 Arch(tests/Arch.php)。提供 Pest 语法、数据集、HTTP 请求与 JSON API 断言、认证、数据库与工厂、Mock/Fake(Http::fake、Mail/Queue/Event Fake)、控制台测试及排错等参考文档,并附 FeatureTest、UnitTest、ArchTest、ApiTest、PestConfig 模板。

使用方式:工作流要求实现前并行启动三个 Agent(explore-codebase 分析现有测试模式、research-expert 经 Context7 核对 Pest/PHPUnit 文档、mcp__context7__query-docs 查断言与 Mock 模式),实现后用 sniper 校验。常用命令:php artisan test、./vendor/bin/pest、./vendor/bin/pest --parallel、--filter、--coverage --min=80、--profile。

关键规则:用 RefreshDatabase 隔离数据库,用工厂而非原始插入造数据,Mock 外部服务不调真实 API,覆盖空值/边界等边缘情况,并行运行提速。

Laravel 13 注意:PHP 属性取代 docblock 注解(#[Test]、#[Seed]、#[Seeder]);测试拆卸时会重置自定义 Str 工厂(UUID/ULID/随机串),依赖其跨方法持久需在每个测试或 setup 中重设;#[UnitTest] 可跳过应用启动。Pest 3→4 需升级插件至 ^4.0 并运行 --update-snapshots,pest-plugin-watch 与 pest-plugin-faker 已归档;Pest 4→5 需 PHP 8.4+,新增 --tia(仅本地)、PHPStan/Rector 插件、Agent 与 Evals 插件、时间均衡分片。

限制:资料未提供具体收费、平台支持范围或效果数据。