rybakit/phpunit-extras
Extend PHPUnit with custom annotations, placeholders, requirements, and expectations. Build and integrate your own @tags, version/package/expression-based requirements, and reusable expectation helpers. Optional support for composer/semver, package-versions, and symfony/expression-language.
ocramius/package-versions plugin compatibility is a composer-level change, not a functional one.assertDatabaseHas()). The package’s focus on PHPUnit extensions remains aligned with Laravel’s testing ecosystem.allow-plugins update is a composer configuration change, not a breaking functional change. Existing tests and integrations remain unaffected.ocramius/package-versions plugin is a composer-level dependency management tool and does not affect PHPUnit or Laravel’s runtime. No conflicts expected with CI/CD pipelines (e.g., GitHub Actions).ocramius/package-versions plugin is optional and unrelated to the package’s core functionality. Risks:
ocramius/package-versions needed? If unrelated to testing, consider if it belongs in the project’s composer.json (may warrant a separate PR).CONTRIBUTING.md or README.composer install --no-dev vs. --dev.allow-plugins declaration is a composer.json modification, not a PHP/Laravel integration.
{
"config": {
"allow-plugins": {
"ocramius/package-versions": true
}
}
}
phpunit.xml or Laravel’s testing config are needed.ocramius/package-versions plugin operates at the composer layer, independent of PHPUnit or Laravel’s runtime.allow-plugins entry to composer.json (no other changes required).composer update to apply the plugin (if used for dependency management).composer require-dev rybakit/phpunit-extras).composer.json with a comment explaining the plugin’s purpose (e.g., "Allows version constraints for CI stability").- name: Check Composer version
run: composer --version | grep -q "Composer version 2"
composer install in CI if used for version pinning, but this is optional.allow-plugins to composer.json.composer update (or composer install --no-dev to test).README.md or DEPENDENCIES.md.ocramius/package-versions plugin for updates (though unrelated to the package’s core).composer.json or docs/ explaining:
allow-plugins entry).composer diagnose).rybakit/phpunit-extras issues).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Composer <2.1 used | Plugin fails silently. | Enforce Composer ≥2.1 in CI/docs. |
| Plugin conflicts with other tools | Composer install errors. | Test with composer install --no-dev. |
| Unnecessary plugin bloat | Confuses developers. | Document purpose clearly; remove if unused. |
composer.json template:
"config": {
"allow-plugins": {
"ocramius/package-versions": true // For CI dependency versioning
}
}
CONTRIBUTING.md with:
## Composer Plugins
This project uses `ocramius/package-versions` for [reason]. No action required unless troubleshooting Composer.
How can I help you explore Laravel packages today?