Testing troubleshooting
Symptom → cause → fix for problems in this extension's own test setup (composer version switches, run, GitHub Actions/act). Problems when using the extension are covered in Troubleshooting.
Unit tests fail with GeneralUtility::makeInstance of container-only services
Symptom: unit tests (Build/) fail resolving services like Tca; the same code works in functional tests.
Cause: by design — unit tests run without any DI container. Code must tolerate missing container-only services (see AGENTS. → Testing Gotchas).
Fix: make the service optional (nullable constructor argument + runtime fallback) as the core classes of this extension do.
Functional tests fail with Can not remove folder after running GitHub Actions locally
Symptom: Build/ aborts with TYPO3Testing.
Cause: act runs its job containers as root, leaving root-owned folders below .Build/ on the shared Docker daemon.
Fix: detect them with
find .Build/public/typo3temp/var/tests -maxdepth 1 -user root
and have a user with root delete those folders (sudo rm -). More act gotchas (matrix parallelism, composer cache eviction): see AGENTS. → Testing Gotchas and CONTRIBUTING.md.
Functional tests fail with Package "headless" depends on package "install" which does not exist.
Symptom: a functional test that loads EXT:headless aborts during test instance creation with the message above (thrown by the testing framework's Package).
Cause: headless ≥ 5.0.0-rc2 ships no ext_, so the testing framework resolves the composer dependencies to sort the classic-mode test instance packages. headless requires typo3/, but install is not among the default core extensions of a functional test instance (core, backend, frontend, extbase, fluid).
Fix: add install to $core of the test case (see Content).