Check the code coverage using the clover report of phpunit
This php script will read the clover xml report from phpunit and calculates the coverage score. Based on the given threshold the script will exit ok of the coverage is higher then the threshold or exit with code 1 if the coverage is lower then the threshold. This script can be used in your continuous deployment environment or for example added to a pre-commit hook.
The script can be installed using composer. Add this repository as a dependency to the composer.json file.
composer require --dev rregeer/phpunit-coverage-check
The script has requires 2 parameters that are mandatory to return the code coverage.
- The location of the clover xml file, that's generated by phpunit.
- The coverage threshold that is acceptable. Min = 1, Max = 100
clover.xml file by using phpunit and run the coverage check script:
Run the script:
vendor/bin/phpunit --coverage-clover clover.xml vendor/bin/coverage-check clover.xml 80 vendor/bin/coverage-check clover.xml 80 --only-percentage
--only-percentage enabled, the CLI command will only return the resulting coverage percentage.
It's also possible to add the coverage report generation to the phpunit.xml.dist add to following line to the xml file:
<logging> <log type="coverage-clover" target="clover.xml"/> </logging>