用途:为 TYPO3 扩展搭建或增强测试基础设施,覆盖单元、功能、架构、E2E、集成与变异测试,并配置 PHPUnit 11/12/13、PHPStan、runTests.sh、CaptainHook 与 CI 矩阵。
主要能力:增强既有测试套件时先运行 automated-assessment typo3-testing,从 73+ 检查点生成差距报告,作为任务清单,先解决机械性失败再手写测试。测试类型选择:单元测试用于纯逻辑、无数据库、验证器与工具;功能测试用于数据库交互、仓库与控制器;架构测试用 phpat 检查分层与依赖规则;E2E 用 Playwright 覆盖用户流程、浏览器与可访问性;集成测试用于 HTTP 客户端、API 模拟与 OAuth;变异测试用于验证测试质量。
使用方式:Build/Scripts/runTests.sh 为必需,须可执行并支持 -s(套件)与 -p(PHP 版本)。命令示例:scripts/setup-testing.sh [--with-e2e]、scripts/validate-setup.sh、scripts/generate-test.sh <Type> <Class>;运行统一走 Build/Scripts/runTests.sh -s unit|functional|phpstan|cgl|mutation|ci。Git 钩子默认 Build/captainhook.json,声明于 composer.json 的 extra.captainhook.config。修复缺陷遵循 references/tdd-discipline.md 的严格 TDD 循环,先确认测试失败再修复后通过,无粘贴输出不得声称已验证。
适用场景:增强或改进测试、提升覆盖率与变异分数、企业级与 A+ 测试要求。不适用于从零开始、编写某个具体测试或调试失败。
限制与要求:单元测试需 70%+ 覆盖率,数据库操作需功能测试,架构得分需 phpat,PHPStan 级别 10。references/ 下提供大量专题文档,按内容触发条件查阅。本技能基于 Netresearch DTT GmbH 的工作,原仓库 https://github.com/netresearch/typo3-testing-skill,由 webconsulting.at 改编。