Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Phpunit Coverage Check Laravel Package

esi/phpunit-coverage-check

Reads PHPUnit clover/openclover XML coverage reports and computes overall coverage percentage. Fails CI with exit code 1 when coverage drops below a configurable threshold; exits successfully when the threshold is met. Useful for enforcing minimum test coverage.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: The package integrates seamlessly with Laravel's existing PHPUnit testing setup as it processes PHPUnit's clover XML reports. Laravel projects typically generate clover reports via PHPUnit configuration, making it a natural fit for coverage enforcement.
Integration feasibility: High feasibility via Composer installation. Requires minimal configuration changes to CI pipelines or pre-commit hooks. However, compatibility depends on matching PHP/PHPUnit versions (v1/v2/v3 for specific PHP versions).
Technical risk: Critical concerns include 0 dependents, extremely low GitHub score (22.36), and a suspicious "last release" date of 2026-01-28 (future-dated). Low adoption and unverified maintenance status introduce reliability risks.
Key questions: Why is the release date in the future? Is the package actively maintained? How does it handle PHPUnit 10.x (used in Laravel 10) versus 12.2+? What failure modes exist if clover.xml is malformed or missing?

Integration Approach

Stack fit: Works with Laravel's default PHPUnit configuration. Requires adding --coverage-clover or --coverage-openclover to PHPUnit execution and configuring the coverage-check step post-test.
Migration path:

  1. Add to composer.json as dev dependency (composer require --dev esi/phpunit-coverage-check:^3.1)
  2. Update CI pipeline to generate clover.xml (e.g., php artisan test --coverage-clover)
  3. Add coverage-check step with threshold (e.g., php vendor/bin/coverage-check clover.xml 90)
    Compatibility: Requires careful version alignment:
  • PHP 8.1 → v1.0.0
  • PHP 8.2 → v2.0.0
  • PHP 8.3+ → v3.1.0
    Laravel 10 (PHPUnit 10) uses standard clover format; PHPUnit 12.2+ requires --coverage-openclover flag.
    Sequencing: Must run after PHPUnit generates clover.xml and before deployment gates. Should be the final test step in CI to enforce coverage thresholds.

Operational Impact

Maintenance: Low day-to-day maintenance but high risk if package breaks due to lack of community support. Requires monitoring for breaking changes in PHPUnit or PHP updates.
Support: Limited due to 0 dependents and minimal community traction. No official documentation beyond README; issues may require self-debugging or forking.
Scaling: No impact on scaling since it's a lightweight CLI tool. Handles large codebases via XML parsing but performance depends on clover.xml size.
Failure modes:

  • Missing clover.xml → CI fails unexpectedly
  • Incorrect threshold → false positives/negatives
  • PHPUnit version mismatch → parsing errors
  • Future-dated releases → potential security vulnerabilities unpatched
    Ramp-up: Minimal (5 minutes to integrate). CLI usage is straightforward with clear examples. Team requires basic understanding of PHPUnit coverage reports and threshold logic.<|im_end|>
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport