https://github.com/phpro/grumphp-combined-coverage-extension
Combine multiple PHP coverage into a single clover XML before executing a clover check.
https://github.com/phpro/grumphp-combined-coverage-extension
Last synced: 6 months ago
JSON representation
Combine multiple PHP coverage into a single clover XML before executing a clover check.
- Host: GitHub
- URL: https://github.com/phpro/grumphp-combined-coverage-extension
- Owner: phpro
- License: mit
- Created: 2024-09-16T07:00:10.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-16T08:45:13.000Z (almost 2 years ago)
- Last Synced: 2025-04-19T17:54:31.618Z (about 1 year ago)
- Language: PHP
- Size: 2.24 MB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GrumPHP Combined coverage extension
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:
```bash
composer require --dev phpro/grumphp-combined-coverage-extension
```
## Configuration
To configure this extension, add the following configuration to your `grumphp.yml`:
```yaml
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:
```yaml
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
```