An open API service indexing awesome lists of open source software.

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.

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
```