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

This package is auto-updated.

Last update: 2024-11-16 09:13:14 UTC


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