mcpField
T
typo3-testing

typo3-testing

github.com/dirnbauerTesting & quality3365 installsUpdated 13w ago
Repository

About typo3-testing

typo3-testing is a skill for developers improving TYPO3 extension test suites. It starts with an assessment report and provides testing guidance, scripts, and references across test types and CI.

Key features

  1. 01Assessment across 73+ checkpoints
  2. 02Test-type selection guidance
  3. 03Testing setup and validation scripts
  4. 04Unit, functional, and architecture testing guidance
  5. 05CI and test failure references

Use cases

  1. 01Assess an existing TYPO3 test suite
  2. 02Plan tests for database-backed code
  3. 03Set up runTests.sh and quality checks

Install

Copy the command and run it in a terminal.

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

After installing, type/typo3-testingin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with 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

Details

From the project README

TYPO3 Testing Skill

Assessment-First Rule

When enhancing an existing test suite (not from scratch), run FIRST:

automated-assessment typo3-testing

Install other skills (e.g. typo3-conformance, enterprise-readiness) for broader coverage.

Generates a gap report from 73+ checkpoints (PHPUnit, PHPStan, runTests.sh, CaptainHook, architecture, mutation, CI matrix, coverage).

Use the report as the task list. Resolve mechanical failures before manual test writing.

Applies
  • "enhance/improve/strengthen tests", "increase coverage/mutation"
  • "enterprise grade", "A+ testing"
Does NOT Apply
  • From scratch, writing a specific test, debugging a failure

References for TYPO3 extension testing.

Test Type Selection

TypeUse WhenSpeed
UnitPure logic, no DB, validators, utilitiesFast
FunctionalDB interactions, repositories, controllersMedium
ArchitectureLayer constraints, dependency rules (phpat)Fast
E2E (Playwright)User workflows, browser, accessibilitySlow
IntegrationHTTP client, API mocking, OAuth flowsMedium
MutationTest quality verification, 70%+ coverageCI/Release

runTests.sh - Mandatory

Build/Scripts/runTests.sh is mandatory. Must be executable, support -s (suite) and -p (PHP version).

Git Hooks

Netresearch default: Build/captainhook.json (declared in composer.json extra.captainhook.config). Verify: ls Build/captainhook.json .git/hooks/pre-commit 2>/dev/null (see references/captainhook-setup.md).

Commands

# 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

Verify tests fail before fix, pass after. Bug fixes use the strict TDD loop in references/tdd-discipline.md — no "tested/verified" claims without pasted output.

Scoring Requirements

Unit tests required (70%+ coverage). Functional tests required for DB operations. phpat required for architecture points. PHPStan level 10.

References (in references/, .md implied)

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

Content Triggers
  • CI failures across TYPO3 versions → ci-debugging.md
  • Functional tests with TSFE context → functional-testing.md
  • Mock failures across dependency versions → mock-validity.md
  • Image/extension tests, Environment::initialize, NormalizedParams TypeError, backupGlobals → test-environment-guards.md
  • Event dispatcher testing with try/catch → event-dispatch-testing.md
  • Meta-package, typo3-ci-workflows, no-plugins → ci-workflows-meta-package.md
  • Fake secrets, push-protection, cs-fixer concat → synthetic-secret-fixtures.md
  • Burned tag, validate before tagging → release-workflow-validation.md
  • Backend module 500 / wrong ViewHelper namespace / runaway canvas → backend-module-render-verification.md
  • Non-admin BE-user access enforcement → backend-user-access-testing.md

Links

TYPO3 Testing Docs | Tea Extension | phpat | Infection


Credits & Attribution

This skill is based on the excellent work by Netresearch DTT GmbH.

Original repository: https://github.com/netresearch/typo3-testing-skill

Copyright (c) Netresearch DTT GmbH — Methodology and best practices (MIT / CC-BY-SA-4.0)

Special thanks to Netresearch DTT GmbH for their generous open-source contributions to the TYPO3 community, which helped shape this skill collection. Adapted by webconsulting.at for this skill collection

Comments

Markdown supported