Download the PHP package ciltocruz/phpunit-coverage-tools without Composer
On this page you can find all versions of the php package ciltocruz/phpunit-coverage-tools. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ciltocruz/phpunit-coverage-tools
More information about ciltocruz/phpunit-coverage-tools
Files in ciltocruz/phpunit-coverage-tools
Package phpunit-coverage-tools
Short Description PHPUnit coverage tools
License MIT
Informations about the package phpunit-coverage-tools
PHPUnit Coverage tools
This extension allows you to enforce minimum code coverage by using the clover xml report from PHPUnit. Based on the given threshold the testsuite will exit ok if the coverage is higher than the threshold or exit with code 1 if the coverage is lower than the threshold. This can be used in your continuous deployment environment or can be added to a pre-commit hook.
Installation
Configuration
Navigate to your phpunit.xml.dist
file and add following config to set default options:
Usage
Just run your testsuite like you normally would, but add following arguments:
--min-coverage=[INTEGER]
When assigning an integer between 0 - 100, you enforce a minimum code coverage for all your classes. In other words, the total coverage of your project has to be higher than this threshold.
--min-coverage=[path/to/min-coverage-rules.php]
When referencing a PHP config file, you can configure more complex rules. This allows you to be stricter for critical parts of your application and less strict for parts of your app that are not that critical.
For example:
This example will enforce:
- A minimum total coverage of 20%
- A minimum coverage of 80% for all classes in namespace
RobinIngelbrecht\PHPUnitCoverageTools
, but will NOTexit = 1
if it fails - 100% code coverage for the class
ApplicationFinishedSubscriber
- 100% code coverage for the classes ending with
CommandHandler
--clean-up-clover-xml
Adding this argument will clean up the generated clover file after the application has finished running.
Example when coverage is too low
Example when coverage generates warning
Example when coverage passes
All versions of phpunit-coverage-tools with dependencies
ext-simplexml Version *
ext-xmlreader Version *
phpunit/phpunit Version ^10.3||^11.0
symfony/console Version ^5.4||^6.2||^7.0