Use when setting up TYPO3 extension test infrastructure, writing unit/functional/E2E/architecture tests, configuring PHPUnit, testing time-dependent code, mutation testing, mocking dependencies, or configuring CI/CD for TYPO3 extensions.
When enhancing an existing test suite (not from scratch), run FIRST:
automated-assessment typo3-testing
Install
typo3-conformanceandenterprise-readinessfor broader coverage.
Generates a gap report from 73+ checkpoints (PHPUnit, PHPStan, runTests.sh, architecture, mutation, CI matrix, coverage).
Use the report as the task list. Resolve mechanical failures before manual test writing.
| Type | Use When | Speed | |------|----------|-------| | Unit | Pure logic, no DB, validators, utilities | Fast | | Functional | DB interactions, repositories, controllers | Medium | | Architecture | Layer constraints, dependency rules (phpat) | Fast | | E2E (Playwright) | User workflows, browser, accessibility | Slow | | Integration | HTTP client, API mocking, OAuth flows | Medium | | Mutation | Test quality, 70%+ coverage | CI/Release |
Build/Scripts/runTests.sh is mandatory: executable, with -s (suite) and -p (PHP version).
Netresearch default: Build/captainhook.json (declared in composer.json extra.captainhook.config). Verify: ls Build/captainhook.json .git/hooks/pre-commit (see 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
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.
Unit tests required (70%+ coverage). Functional tests required for DB operations. phpat required for architecture points. PHPStan level 10.
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 | framework-compat-gate.md
ci-debugging.mdfunctional-testing.mdmock-validity.mdEnvironment::initialize, NormalizedParams TypeError, backupGlobals → test-environment-guards.mdevent-dispatch-testing.mdci-workflows-meta-package.mdsynthetic-secret-fixtures.mdrelease-workflow-validation.mdbackend-module-render-verification.mdbackend-user-access-testing.mdframework-compat-gate.mdnpx skills add netresearch/typo3-testing下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer