用途:为 Laravel 应用提供测试驱动开发工作流,采用 PHPUnit 与 Pest,目标为单元测试加功能测试覆盖率 80% 以上。适用于 Laravel 新功能或接口开发、缺陷修复与重构,以及测试 Eloquent 模型、策略、任务和通知。新测试默认优先使用 Pest,除非项目已统一使用 PHPUnit。
主要能力:遵循红-绿-重构循环,先写失败测试,再做最小实现使其通过,最后在测试保持绿色的前提下重构。测试分层包括单元测试(纯 PHP 类、值对象、服务)、功能测试(HTTP 端点、认证、验证、策略)和集成测试(数据库、队列与外部边界)。数据库策略提供 RefreshDatabase、DatabaseTransactions、DatabaseMigrations 三种方式,默认对涉及数据库的测试使用 RefreshDatabase。支持工厂与状态、数据库断言、Fakes(Bus、Queue、Mail、Notification、Event)、Sanctum 认证测试、Gate 授权测试、Http::fake() 隔离外部 API,以及 Inertia 功能测试。
使用方式:测试命令为 php artisan test、vendor/bin/phpunit、vendor/bin/pest。可在 phpunit.xml 中设置 DB_CONNECTION=sqlite 与 DB_DATABASE=:memory: 以加快测试,并为测试保留独立环境,避免影响开发或生产数据。覆盖率可在 CI 中使用 pcov 或 XDEBUG_MODE=coverage。
限制:资料未提供安装步骤、价格、平台支持范围或具体版本要求,这些信息暂未提供。