Skip to content

gosuperscript/phpunit-coverage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

phpunit-coverage

A PHPUnit extension that fails the test run when total line coverage drops below a configured minimum. Compatible with PHPUnit 11, 12 and 13.

Install

composer require --dev gosuperscript/phpunit-coverage

Configure

Add the extension to your phpunit.xml (or phpunit.xml.dist):

<phpunit>
    <extensions>
        <bootstrap class="Superscript\PhpunitCoverage\Extension">
            <parameter name="minimum" value="100"/>
        </bootstrap>
    </extensions>

    <source>
        <include>
            <directory>src</directory>
        </include>
    </source>
</phpunit>
Parameter Default Description
minimum 100 Minimum total line coverage percentage required to pass.

Behaviour

The extension only checks coverage when PHPUnit has actually collected it — that is, when you run PHPUnit with a coverage report flag (e.g. --coverage-text, --coverage-clover, --coverage-html) and a coverage driver (Xdebug or PCOV) is installed.

  • Coverage enabled, below minimum: the run fails with exit code 1 and a message printed to STDERR.
  • Coverage enabled, at or above minimum: the run continues normally.
  • Coverage disabled, running locally: a PHPUnit warning is emitted, the run continues. Lets you run vendor/bin/phpunit without coverage during development.
  • Coverage disabled, running on CI: the run fails with exit code 1. CI is detected via the CI environment variable (set by GitHub Actions, GitLab CI, CircleCI, Travis, Buildkite, and others).

Run

vendor/bin/phpunit --coverage-text

License

MIT

About

PHPUnit extension that enforces a minimum total code coverage

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors