Agent Skill
2/7/2026

typo3-testing

Agent Skill: TYPO3 extension testing (unit, functional, E2E, architecture, mutation). This skill should be used when setting up test infrastructure, writing tests, configuring PHPUnit, testing time-dependent code, mocking dependencies, or configuring CI/CD for TYPO3 extensions. By Netresearch.

N
netresearch
3GitHub Stars
2Views
npx skills add netresearch/typo3-testing-skill

SKILL.md

Nametypo3-testing
DescriptionAgent Skill: TYPO3 extension testing (unit, functional, E2E, architecture, mutation). This skill should be used when setting up test infrastructure, writing tests, configuring PHPUnit, testing time-dependent code, mocking dependencies, or configuring CI/CD for TYPO3 extensions. By Netresearch.

name: typo3-testing description: "Use when setting up TYPO3 extension test infrastructure, writing unit/functional/E2E/architecture tests, configuring PHPUnit, testing time-dependent code, mutation testing, mocking dependencies, configuring CI/CD for TYPO3 extensions, or debugging failing tests in CI (including multi-version TYPO3 v13/v14 test failures)."

TYPO3 Testing Skill

Templates, scripts, and references for comprehensive 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
FuzzSecurity, parsers, malformed inputManual
CryptoEncryption, secrets, key managementFast
MutationTest quality verification, 70%+ coverageCI/Release

Setup and Running Tests

# Setup
<skill-dir>/scripts/setup-testing.sh [--with-e2e]   # Initialize testing
<skill-dir>/scripts/validate-setup.sh               # Validate existing setup
<skill-dir>/scripts/generate-test.sh <Type> <Class> # Generate test file

# Run tests
Build/Scripts/runTests.sh -s unit          # Unit tests
Build/Scripts/runTests.sh -s functional    # Functional tests
Build/Scripts/runTests.sh -s architecture  # Architecture tests (phpat)
Build/Scripts/runTests.sh -s e2e           # E2E tests (Playwright)
Build/Scripts/runTests.sh -s lint          # Linting
Build/Scripts/runTests.sh -s phpstan       # Static analysis
Build/Scripts/runTests.sh -s mutation      # Mutation testing

After creating or modifying a test, always verify it fails before the fix and passes after. Run the full suite to ensure no regressions.

Scoring Requirements

CriterionRequirement
Unit testsRequired, 70%+ coverage
Functional testsRequired for DB operations
Architecture testsphpat required for full points
PHPStanLevel 10 (max)

References

ReferenceTopic
unit-testing.mdUnitTestCase, mocking, FakeClock
functional-testing.mdFunctionalTestCase, CSV fixtures, TSFE limitations
functional-test-patterns.mdPHPUnit 10+ migration, container reset
integration-testing.mdPSR-18 mocking, OAuth flows
e2e-testing.mdPlaywright, Page Object Model
ddev-testing.mdLocal multi-version matrix
test-runners.mdrunTests.sh, Docker orchestration
architecture-testing.mdphpat, layer constraints
ci-debugging.mdMulti-version CI failure analysis
ci-cd.mdGitHub Actions, GitLab CI
quality-tools.mdPHPStan, PHP-CS-Fixer, Rector
mutation-testing.mdInfection, MSI
typo3-v14-final-classes.mdInterface extraction, mock strategies
javascript-testing.mdJest, frontend testing
enforcement-rules.mdE2E CI rules, troubleshooting

All references in references/ directory.

Explicit Content Triggers

When debugging CI test failures across TYPO3 versions, load references/ci-debugging.md for multi-version error comparison and debugging checklist.

When writing functional tests that need frontend context (parseFunc, typoLink, TSFE), load references/functional-testing.md for known limitations and workarounds.

External Resources


Contributing: https://github.com/netresearch/typo3-testing-skill

Skills Info
Original Name:typo3-testingAuthor:netresearch