承接 mediawiki/phpunit-patch-coverage 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mediawiki/phpunit-patch-coverage

最新稳定版本:0.0.16

Composer 安装命令:

composer require mediawiki/phpunit-patch-coverage

包简介

Generate coverage reports for git patches

README 文档

README

A tool to generate coverage reports for a Git patch without actually running the entire coverage report.

Purpose

Running PHPUnit coverage reports with Xdebug can be extremely slow. For example, the MediaWiki core coverage report takes around 2 hours to run. This makes it hard for developers to get quick feedback on their patches to see how they affected the overall coverage.

The goal of this is to be able to generate coverage reports for Git patches without running the full coverage tests.

Implementation

We look at the files that were changed in the last commit. We identify classes that were changed, as well as tests that were changed. We then find all the tests that cover those classes, and run the tests with coverage for those files.

Next we'll checkout the previous commit, and re-calculate to see which tests should be run (@covers and modified files). We'll re-run the coverage, and then diff the result!

There are probably plenty of edge cases where this won't work, but I think it will do reasonably well.

Usage

Add the composer dependency to your project:

composer require --dev mediawiki/phpunit-patch-coverage

The current working directory must be your git repository. With full options:

./vendor/bin/phpunit-patch-coverage check \
 --command "php vendor/bin/phpunit" \
 --sha1 HEAD

The options shown in the example above are the defaults, and do not need to be specified again. You may find it useful to have xdebug disabled by default, and then specify it at runtime with: php -d zend_extension=xdebug.so .... Or if you have a PHPUnit wrapper (like MediaWiki), you can call that.

License

phpunit-patch-coverage is (C) 2018 Kunal Mehta, under the terms of the GPL v3 or any later version. See COPYING for more details.

统计信息

  • 总下载量: 4.72k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 12
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2018-01-20