dsf4s5787 2013-05-20 20:06
浏览 145
已采纳

PHPUnit和PHP_CodeCoverage:为整个代码库启用PHP_CodeCoverage

All of my code base is in one folder and it's sub-directories, all of my tests are in another folder and it's sub-directories. When I run PHPUnit, I point it to the test folder, and all Files in my test folder and all it's sub-directories that end in Test.php are executed. This all works fine.

I now want to enable PHP_CodeCoverage for all of my code base, including files for which I don't have test files written yet.

I am able to manually enable PHP_CodeCoverage inside each test file by doing what the GitHub documentation advises:

inside my test file I include the follwoing:

require 'PHP/CodeCoverage/Autoload.php';

$coverage = new PHP_CodeCoverage;
$coverage->start('<name of test>');

// ...

$coverage->stop();

$writer = new PHP_CodeCoverage_Report_Clover;
$writer->process($coverage, '/tmp/clover.xml');

$writer = new PHP_CodeCoverage_Report_HTML;
$writer->process($coverage, '/tmp/code-coverage-report');

How do I enable it for my entire code base? I can't find any documentation for that case.

  • 写回答

1条回答 默认 最新

  • dsij89625 2013-05-20 21:34
    关注

    I figured it out myself:

    When running phpUnit from the command line, add the following switch anywhere before the directory on which you are running phpUnit: --coverage-html /your/coverage/directory/goes/here

    Here is an example of the complete command:

    $phpunit --colors --coverage-html /your/coverage/directory/goes/here /my/code/base/dir

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏