SuperAPI AI 工具集

typo3-testing

测试与质量

查看项目

更新于 10-16 01:35

技能介绍

用途:该技能用于 TYPO3 扩展的测试编写与测试套件增强。核心理念是“报告先变成失败测试,再变成修复”:依据缺陷报告的输入与预期输出写测试,先运行并确认它按报告所述原因失败,修复后再通过;修复后补写的测试只能证明代码当前行为。

主要能力:覆盖单元测试(纯逻辑、校验器、工具类)、功能测试(数据库、Repository、控制器)、架构测试(phpat 层约束与依赖规则)、E2E(Playwright,用户流程、浏览器、无障碍)、集成测试(HTTP 客户端、API mock、OAuth)与变异测试(测试质量,70%+ 覆盖率)。强调模板渲染输出不被单元套件覆盖,需用功能测试调用渲染路径并断言渲染字符串;Fluid 内联表达式解析失败时不会抛错而是原样输出,因此不能只看退出码。内联表达式嵌套时应写成标签(<f:if>)或在 PHP 中计算后传入。

使用方式:增强已有测试套件时先运行 automated-assessment typo3-testing,生成基于 73+ 检查点(PHPUnit、PHPStan、runTests.sh、架构、变异、CI 矩阵、覆盖率)的差距报告,并作为任务清单,先解决机械性失败再手写测试。安装 typo3-conformance 与 enterprise-readiness 可获得更广覆盖。Build/Scripts/runTests.sh 为强制入口,需可执行并带 -s(套件)与 -p(PHP 版本)。常用命令:scripts/setup-testing.sh [-a](-a 为 Codeception 验收设置)、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 中声明。

适用场景:缺陷复现、模板或渲染输出变更验证、覆盖率与变异率提升、企业级测试要求、CI 失败排查、后端模块渲染验证、DataHandler 静默改写排查、发布流程校验等。

限制:不适用于从零开始、编写某个具体测试或调试失败;评分要求单元测试 70%+ 覆盖率、数据库操作需功能测试、架构得分需 phpat、PHPStan level 10。未提供具体价格、平台支持范围与效果保证等信息。