跳转至

PHP 测试

此文件使用 PHP 特定内容扩展 common/testing.md。

框架

默认使用 PHPUnit 作为测试框架。如果项目中已配置 Pest,新测试优先使用 Pest,避免混用框架。

覆盖率

vendor/bin/phpunit --coverage-text
# または
vendor/bin/pest --coverage

在 CI 中优先使用 pcov 或 Xdebug,覆盖率阈值应通过 CI 管理,而不是依赖隐性知识。

测试结构

  • 将高速单元测试与框架/数据库集成测试分离。
  • 测试夹具应使用工厂/构建器,而不是大型手写数组。
  • HTTP/控制器测试应聚焦于传输层和验证;业务规则应移至服务层测试。

Inertia

如果项目使用 Inertia.js,优先使用带 AssertableInertia 的 assertInertia 验证组件名和 props,而不是原始 JSON 断言。

参考

技能:tdd-workflow 中可参考整个仓库的 RED -> GREEN -> REFACTOR 循环。 技能:laravel-tdd 中可参考 Laravel 特有的测试模式(PHPUnit 和 Pest)。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC