PHPackages                             phpro/grumphp-combined-coverage-extension - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. phpro/grumphp-combined-coverage-extension

ActiveLibrary[Testing &amp; Quality](/categories/testing)

phpro/grumphp-combined-coverage-extension
=========================================

Combine multiple PHP coverage into a single clover XML before executing a clover check.

1.0.0(1y ago)04.4kMITPHPPHP &gt;8.2CI passing

Since Sep 16Pushed 4mo ago4 watchersCompare

[ Source](https://github.com/phpro/grumphp-combined-coverage-extension)[ Packagist](https://packagist.org/packages/phpro/grumphp-combined-coverage-extension)[ RSS](/packages/phpro-grumphp-combined-coverage-extension/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

GrumPHP Combined coverage extension
===================================

[](#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
------------

[](#installation)

To install this extension, run the following command:

```
composer require --dev phpro/grumphp-combined-coverage-extension
```

Configuration
-------------

[](#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
-------------

[](#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
```

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance57

Moderate activity, may be stable

Popularity22

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 72.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

603d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cab1b0de06c75fec5317beded0c2978f3e9e560e6830c1d9048f3e37b3287342?d=identicon)[phpro](/maintainers/phpro)

---

Top Contributors

[![veewee](https://avatars.githubusercontent.com/u/1618158?v=4)](https://github.com/veewee "veewee (8 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/phpro-grumphp-combined-coverage-extension/health.svg)

```
[![Health](https://phpackages.com/badges/phpro-grumphp-combined-coverage-extension/health.svg)](https://phpackages.com/packages/phpro-grumphp-combined-coverage-extension)
```

###  Alternatives

[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)[infection/infection

Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.

2.2k26.2M1.8k](/packages/infection-infection)[phpbench/phpbench

PHP Benchmarking Framework

2.0k13.0M627](/packages/phpbench-phpbench)[captainhook/captainhook

PHP git hook manager

1.1k6.8M370](/packages/captainhook-captainhook)[liuggio/fastest

Simple parallel testing execution... with some goodies for functional tests.

4825.6M26](/packages/liuggio-fastest)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
