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.
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
ecotone/kafka
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata