SuperAPI AI 工具集

php-testing

测试与质量

查看项目

更新于 10-15 22:14

技能介绍

用途:为 PHP 应用编写单元测试与集成测试,适用于使用 PHPUnit 或 Pest 的项目。

主要能力:

  1. 测试框架与结构:使用 PHPUnit(9/10+)或 Pest,测试按 Unit/、Integration/、Feature/ 组织,测试类继承 TestCase。
  2. TDD 工作流:遵循 Red-Green-Refactor,先写失败测试,再实现最小逻辑,最后重构。
  3. 断言与数据提供器:优先用 assertSame(===)而非 assertEquals 以避免类型强制转换,也可用 assertCount()、assertMatchesRegularExpression();数据提供器在 PHPUnit 10+ 用 #[DataProvider('statusProvider')],Pest 用 dataset。
  4. 依赖隔离:用 createMock() 模拟依赖,但不要模拟简单数据对象;测试需独立可重复,数据库测试须使用事务或 SQLite :memory:。
  5. 覆盖率与自动化:目标行覆盖率 80%+,用 phpunit.xml 白名单指定目录;通过 GitHub Actions 或 GitLab CI 在每次 PR 运行测试。

反模式:不测试私有方法,只通过公共接口测试;不过度模拟内部实现,只模拟外部边界;单元测试中不使用真实网络或数据库;不盲目追求覆盖率指标,优先有意义的断言。

限制:资料未提供具体安装命令、版本兼容细节、完整代码示例与配置模板,相关实现示例需参考原文的实现示例部分。