Testing
Это содержимое пока не доступно на вашем языке.
This package provides a consistent set of Composer scripts for local validation.
Tool references:
- Composer Require Checker for dependency definition checks.
- Easy Coding Standard (ECS) for coding standards.
- Infection for mutation testing.
- PHPStan for static analysis.
- PHPUnit for unit tests.
- Rector for automated refactoring.
Prerequisites
Section titled “Prerequisites”The asset tests publish the real bootstrap and bootstrap-icons packages from the package node_modules directory.
composer install runs php-forge/foxy with the native manager, which installs
them from the root package.json using PHP and ext-zlib; Node.js is unnecessary for this step:
composer installKeep the development foxy.lock when updating frontend dependencies. It is excluded from Composer distribution
archives because consuming applications resolve their own frontend requirements and maintain their own lockfiles.
Foxy also adds generated @composer-asset/* dependencies with local file: paths to the checkout’s root
package.json. Keep those generated entries local: the distributed manifest must declare only registry packages,
so it can be consumed without paths into this checkout’s vendor directory. Inspect git diff -- package.json
after Composer operations and remove generated entries before committing or packaging the library.
Automated refactoring (Rector)
Section titled “Automated refactoring (Rector)”Run Rector to apply automated code refactoring.
composer rectorCoding standards (ECS)
Section titled “Coding standards (ECS)”Run Easy Coding Standard (ECS) and apply fixes.
composer ecsDependency definition check
Section titled “Dependency definition check”Verify that runtime dependencies are correctly declared in composer.json.
composer check-dependenciesMutation testing (Infection)
Section titled “Mutation testing (Infection)”Run mutation testing (minimum MSI and covered MSI of 100%).
composer mutationRun mutation testing with static analysis enabled.
composer mutation-staticStatic analysis (PHPStan)
Section titled “Static analysis (PHPStan)”Run static analysis at level max with the strict rules.
composer staticUnit tests (PHPUnit)
Section titled “Unit tests (PHPUnit)”Run the full test suite.
composer testsThe test classes are grouped with #[Group] attributes: asset, enum, form, html, i18n, and widget.
Passing extra arguments
Section titled “Passing extra arguments”Composer scripts support forwarding additional arguments using --.
Run PHPUnit with code coverage report generation.
composer tests -- --coverage-html code_coverageRun a single test group.
composer tests -- --group formRun PHPStan with a different memory limit.
composer static -- --memory-limit=512M