mcpField
T
typo3-testing

typo3-testing

github.com/dirnbauer测试与质量3365 次安装13 周前更新
代码仓库

关于 typo3-testing

typo3-testing 面向改进 TYPO3 扩展测试套件的开发者,先生成评估报告,再提供测试类型指导、脚本和 CI 参考资料。

主要功能

  1. 01涵盖 73 项以上检查点的评估
  2. 02测试类型选择指导
  3. 03测试环境配置与验证脚本
  4. 04单元、功能及架构测试指导
  5. 05CI 与测试故障参考资料

适用场景

  1. 01评估现有 TYPO3 测试套件
  2. 02规划数据库交互代码的测试
  3. 03配置 runTests.sh 和质量检查

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dirnbauer/webconsulting-skills --skill typo3-testing

安装后在 Claude Code 中输入/typo3-testing确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
.php-cs-fixer.dist.php
AGENTS.md
bootstrap.php
codecov.yml
FunctionalTests.xml
FunctionalTestsBootstrap.php
github-actions-e2e.yml
github-actions-tests.yml
infection.json5
Makefile
phpat.neon
assets/Build/playwright/
.nvmrc
package.json
playwright.config.ts
assets/Build/playwright/tests/playwright/
config.ts
assets/Build/playwright/tests/playwright/accessibility/
modules.spec.ts
assets/Build/playwright/tests/playwright/e2e/
backend-module.spec.ts
assets/Build/playwright/tests/playwright/fixtures/
setup-fixtures.ts
assets/Build/playwright/tests/playwright/helper/
login.setup.ts
assets/Build/Scripts/
runTests.sh
assets/docker/
codeception.yml
docker-compose.yml
assets/example-tests/
ExampleAcceptanceCest.php
ExampleFunctionalTest.php
ExampleUnitTest.php
assets/fixtures/
be_users.csv
pages.csv
README.md
sys_category.csv
tt_content.csv

详细介绍

TYPO3 测试技能

评估优先规则

增强现有测试套件时(不是从零开始),首先运行:

automated-assessment typo3-testing

安装其他技能(例如 typo3-conformance、enterprise-readiness),以获得更全面的覆盖。

根据 73+ 个检查点(PHPUnit、PHPStan、runTests.sh、CaptainHook、架构、变异测试、CI 矩阵、覆盖率)生成差距报告。

将报告用作任务清单。 手动编写测试前,先解决可通过自动化处理的问题。

适用情形
  • “增强/改进/加强测试”、“提高覆盖率/变异测试”
  • “企业级”、“A+ 测试”
不适用情形
  • 从零开始、编写特定测试、调试失败

TYPO3 扩展测试参考。

测试类型选择

类型适用场景速度
单元测试纯逻辑、无数据库、验证器、实用工具快
功能测试数据库交互、仓库、控制器中
架构测试分层约束、依赖规则(phpat)快
端到端测试(Playwright)用户工作流、浏览器、无障碍慢
集成测试HTTP 客户端、API 模拟、OAuth 流程中
变异测试测试质量验证、70%+ 覆盖率CI/发布

runTests.sh - 必须使用

必须使用 Build/Scripts/runTests.sh。该脚本必须可执行,并支持 -s(套件)和 -p(PHP 版本)。

Git 钩子

Netresearch 默认配置:Build/captainhook.json(在 composer.json 的 extra.captainhook.config 中声明)。验证:ls Build/captainhook.json .git/hooks/pre-commit 2>/dev/null(参见 references/captainhook-setup.md)。

命令

# Setup (from skill dir)
scripts/setup-testing.sh [--with-e2e]
scripts/validate-setup.sh
scripts/generate-test.sh <Type> <Class>

# Run (always via runTests.sh)
Build/Scripts/runTests.sh -s unit|functional|phpstan|cgl|mutation|ci

修复前验证测试会失败,修复后验证测试通过。Bug 修复须遵循 references/tdd-discipline.md 中严格的 TDD 循环——没有粘贴的输出,不得声称“已测试/已验证”。

评分要求

必须编写单元测试(70%+ 覆盖率)。数据库操作必须编写功能测试。架构评分项必须使用 phpat。PHPStan 级别为 10。

参考资料(位于 references/ 中,默认扩展名为 .md)

unit-testing.md | functional-testing.md | functional-test-patterns.md | integration-testing.md | e2e-testing.md | accessibility-testing.md | ddev-testing.md | test-runners.md | architecture-testing.md | ci-debugging.md | ci-cd.md | quality-tools.md | mutation-testing.md | fuzz-testing.md | performance-testing.md | typo3-v14-final-classes.md | mock-validity.md | javascript-testing.md | captainhook-setup.md | enforcement-rules.md | event-dispatch-testing.md | crypto-testing.md | test-environment-guards.md | sonarcloud.md | typo3-ci-config-patterns.md | tdd-discipline.md | ci-workflows-meta-package.md | synthetic-secret-fixtures.md | release-workflow-validation.md | asset-templates-guide.md | backend-module-render-verification.md | backend-user-access-testing.md

内容触发条件
  • TYPO3 版本间的 CI 失败 → ci-debugging.md
  • 带有 TSFE 上下文的功能测试 → functional-testing.md
  • 不同依赖版本间的模拟对象失败 → mock-validity.md
  • 图像/扩展测试、Environment::initialize、NormalizedParams TypeError、backupGlobals → test-environment-guards.md
  • 带有 try/catch 的事件分发器测试 → event-dispatch-testing.md
  • Meta-package、typo3-ci-workflows、no-plugins → ci-workflows-meta-package.md
  • 虚假密钥、推送保护、cs-fixer concat → synthetic-secret-fixtures.md
  • 标签已被占用、打标签前验证 → release-workflow-validation.md
  • 后端模块 500 错误/ViewHelper 命名空间错误/画布无限运行 → backend-module-render-verification.md
  • 限制非管理员 BE 用户访问 → backend-user-access-testing.md

链接

TYPO3 测试文档 | Tea 扩展 | phpat | Infection


致谢与署名

本技能基于 Netresearch DTT GmbH 的出色成果。

原始仓库:https://github.com/netresearch/typo3-testing-skill

Copyright (c) Netresearch DTT GmbH — 方法论与最佳实践(MIT / CC-BY-SA-4.0)

特别感谢 Netresearch DTT GmbH 为 TYPO3 社区慷慨贡献开源成果,助力塑造了这一系列技能。 由 webconsulting.at 为这一系列技能改编

评论

支持 Markdown