Test lane quick reference
The canonical testing documentation is Testing infrastructure. This filename is kept for older links.
| What changed | Run from app/ |
|---|---|
| model, behavior, service, KMP primitive | vendor/bin/phpunit --testsuite core-unit |
| controller, command, middleware, view | vendor/bin/phpunit --testsuite core-feature |
| plugin code | vendor/bin/phpunit --testsuite plugins |
| Stimulus/JavaScript | npm run test:js |
| Vite imports/bundling | npm run dev |
| curated browser journey | npm run test:ui:journey |
| platform tenant provisioning | npm run test:ui:platform-provisioning |
| full browser UAT | npm run test:ui |
| standard non-browser verification | bash bin/verify.sh |
verify.sh runs all three PHP suites, the skip budget, seed contracts, Jest,
Vite, the Azure runtime contract, changed-file PHPCS, and PHPStan. It does not
run Playwright. Run only one Playwright lane at a time because it shares and
resets the local Docker environment.
Ordinary PHPUnit bootstrap uses one seeded tenant-shaped test database with
runtime tenancy disabled. Tenant resolution/cleanup and central platform state
are tested explicitly in middleware/service/command tests; full host-bound
behavior is covered in the multi-host Playwright scenarios.
Do not rely on old absolute /workspaces/KMP paths, historical test counts, or
seed record totals. Use repository-relative paths and stable constants from the
project test base classes.