phpro / grumphp-combined-coverage-extension
Combine multiple PHP coverage into a single clover XML before executing a clover check.
1.0.0
2024-09-16 08:43 UTC
Requires
- php: >8.2
- phpro/grumphp: ^2.8
- symfony/process: ^7.0 || ^6.4
Requires (Dev)
- php-cs-fixer/shim: ^3.64
- phpunit/phpunit: ^11.3.5
README
This extension provides a way to combine multiple PHP coverage reports into a single clover XML right before running the clover_coverage
task.
Installation
To install this extension, run the following command:
composer require --dev phpro/grumphp-combined-coverage-extension
Configuration
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'
Example usage
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