{"id":15450338,"url":"https://github.com/vstelmakh/covelyzer","last_synced_at":"2026-05-01T15:37:06.674Z","repository":{"id":62545606,"uuid":"273760923","full_name":"vstelmakh/covelyzer","owner":"vstelmakh","description":"PHP tool to analyze PHPUnit test coverage report in clover format","archived":false,"fork":false,"pushed_at":"2020-10-15T18:07:44.000Z","size":134,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-27T03:51:29.952Z","etag":null,"topics":["analyzer","cli","coverage","php","phpunit"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vstelmakh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-20T18:13:24.000Z","updated_at":"2021-12-07T20:25:52.000Z","dependencies_parsed_at":"2022-11-02T22:01:18.320Z","dependency_job_id":null,"html_url":"https://github.com/vstelmakh/covelyzer","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/vstelmakh/covelyzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vstelmakh%2Fcovelyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vstelmakh%2Fcovelyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vstelmakh%2Fcovelyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vstelmakh%2Fcovelyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vstelmakh","download_url":"https://codeload.github.com/vstelmakh/covelyzer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vstelmakh%2Fcovelyzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32503200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analyzer","cli","coverage","php","phpunit"],"created_at":"2024-10-01T21:04:36.953Z","updated_at":"2026-05-01T15:37:06.656Z","avatar_url":"https://github.com/vstelmakh.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Covelyzer\n\n[![Build status](https://github.com/vstelmakh/covelyzer/workflows/build/badge.svg?branch=master)](https://github.com/vstelmakh/covelyzer/actions)\n[![Packagist version](https://img.shields.io/packagist/v/vstelmakh/covelyzer?color=orange)](https://packagist.org/packages/vstelmakh/covelyzer)\n[![PHP version](https://img.shields.io/packagist/php-v/vstelmakh/covelyzer)](https://www.php.net/)\n[![License](https://img.shields.io/github/license/vstelmakh/covelyzer?color=yellowgreen)](LICENSE)\n\n**Covelyzer** - PHP console tool to analyze PHPUnit test coverage report in clover (XML) format. \nCovelyzer integrates coverage metrics directly into the workflow forcing developers to write tests and \nforbidding delivery of uncovered code.\n\nHighlights:\n- Works in console\n- Easy to integrate\n- Flexible configuration\n- Same setup locally and on CI\n- Not depend on third-party service\n\n## Installation\nInstall the latest version with [Composer](https://getcomposer.org/):  \n```bash\ncomposer require --dev vstelmakh/covelyzer\n```\n\n## Usage\nBefore you start, run tests with options to generate coverage report in XML format.\nSee corresponding PHPUnit documentation reference [Code coverage analysis](https://phpunit.readthedocs.io/en/9.2/code-coverage-analysis.html)\nand Covelyzer [phpunit.xml](./phpunit.xml), [composer.json](./composer.json) scripts section as an example.\n\nRun tests with XML coverage xdebug example:  \n```bash\nvendor/bin/phpunit --dump-xdebug-filter var/xdebug-filter.php \u0026\u0026 \\\nvendor/bin/phpunit --prepend var/xdebug-filter.php --coverage-clover var/coverage.xml --whitelist src\n```\n\nRun Covelyzer with [default configuration](./resources/default-config.xml):  \n```bash\nvendor/bin/covelyzer var/coverage.xml\n```\n\nTo specify additional configuration see [Configuration](#configuration).\n\n## Configuration\nConfiguration defined in `covelyzer.xml` located under project root (where vendor dir located). Or\nconfiguration path could be overridden via `-c | --config` command option:\n```bash\nvendor/bin/covelyzer var/coverage.xml -c path/to/covelyzer.xml\n```\nIf no configuration file provided - [default configuration](./resources/default-config.xml) is used.  \n\nExample configuration:\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" ?\u003e\n\u003ccovelyzer\n    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n    xsi:noNamespaceSchemaLocation=\"vendor/vstelmakh/covelyzer/resources/config.xsd\"\n    timezone=\"Europe/Berlin\"\n\u003e\n    \u003cproject minCoverage=\"100\"/\u003e\n    \u003cclass minCoverage=\"100\"/\u003e\n\u003c/covelyzer\u003e\n```\n\n#### `\u003ccovelyzer\u003e` element\nConfig root element.\n\n##### `timezone` attribute\nTimezone should be used to display timestamp.  \n- use: `optional`\n- type: `string` (see: [php timezones](https://www.php.net/manual/en/timezones.php))\n- command option: could be defined/overridden via `--timezone` command option\n\n#### `\u003cproject\u003e` element\nDefines configuration for project coverage report. If defined project coverage report will be rendered.  \n- parent: `\u003ccovelyzer\u003e`\n- use: `optional`\n\n##### `minCoverage` attribute\nMinimum coverage value. If project have less coverage - report will fail.  \n- use: `required`\n- type: `float` (min: 0, max: 100)\n\n#### `\u003cclass\u003e` element\nDefines configuration for class coverage report. If defined class coverage report will be rendered.  \n- parent: `\u003ccovelyzer\u003e`\n- use: `optional`\n\n##### `minCoverage` attribute\nMinimum coverage value. If any class have less coverage - report will fail.  \n- use: `required`\n- type: `float` (min: 0, max: 100)  \n\n## Tips \u0026 tricks\n### Use help option\nUse `-h | --help` command option to display Covelyzer help data. It contains all available arguments, options and usage examples.\n```bash\nvendor/bin/covelyzer --help\n```\n\n### Ignore code blocks\nCovelyzer will analyze full report produced by PHPUnit. In some cases you want to ignore some code parts to not be taken into account.\nThere are several options available, see [Ignoring code blocks](https://phpunit.readthedocs.io/en/9.2/code-coverage-analysis.html#ignoring-code-blocks)\nin PHPUnit documentation.\n\n### Speed up coverage with Xdebug\nThe performance of code coverage data collection with Xdebug can be improved by delegating whitelist filtering to Xdebug.\nSee corresponding PHPUnit docs section: [Speeding up code coverage with Xdebug](https://phpunit.readthedocs.io/en/9.2/code-coverage-analysis.html#speeding-up-code-coverage-with-xdebug).\n\n## Credits\n[Volodymyr Stelmakh](https://github.com/vstelmakh)  \nLicensed under the MIT License. See [LICENSE](LICENSE) for more information.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvstelmakh%2Fcovelyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvstelmakh%2Fcovelyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvstelmakh%2Fcovelyzer/lists"}