This extension provides a way to combine multiple PHP coverage reports into a single clover XML right before running the clover_coverage
task.
To install this extension, run the following command:
composer require --dev phpro/grumphp-combined-coverage-extension
To configure this extension, add the following configuration to your grumphp.yml
:
grumphp:
tasks:
clover_coverage:
clover_file: your-clover-location.xml
level: 100
extensions:
- 'Phpro\GrumPHPCombinedCoverageExtension\GrumPHPCombinedCoverageExtension'
parameters:
# This directory contains all PHP .cov files that are generated by PHPUnit.
# These will be combined into the location you configured in the clover_coverage task.
grumphp_merge_coverage_chunks_dir: 'cov'
# Optional:
# By default, a built-in version of pcov will be used.
# You can overwrite this to use your own phpcov executable.
# @link https://github.com/sebastianbergmann/phpcov
grumphp_merge_coverage_phpcov_executeable: '/your/phpcov'
You can use this task together with the paratest
and phpunit
task.
To combine the PHP coverage files into a single clover file, you can use the following configuration:
parameters:
grumphp_merge_coverage_chunks_dir: 'cov'
grumphp:
tasks:
paratest:
config: phpunit.xml.dist
testsuite: unit
coverage-php: cov/unit.cov
phpunit:
config_file: phpunit.xml.dist
testsuite: functional
coverage-php: cov/functional.cov
clover_coverage:
clover_file: "coverage-all.xml"
minimum_level: 100
metadata:
priority: -100