虽然phpunit支持–coverage-clover [file]参数,但它似乎什么都不做.
我让Jenkins在这个服务器上运行,带有用于php的clover coverage插件.
这是我的输出:
> phpunit --coverage-clover coverage.xml
................................ 32 / 32 (100%)
Time: 745 ms, Memory: 16.75Mb
> ls -l
(coverage.xml is not present)
我想找出为什么根本没有生成三叶草XML文件,没有错误消息.即使使用–debug标志也不会产生与三叶草报告相关的任何内容.
版本信息:
> phpunit --version
PHPUnit 5.0.5 by Sebastian Bergmann and contributors.
> php --version
PHP 5.6.14-1+deb.sury.org~trusty+1 (cli)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with the ionCube PHP Loader + Intrusion Protection from ioncube24.com v.5.0.4, Copyright (c) 2002-2015, by ionCube Ltd.
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with Xdebug v2.3.2, Copyright (c) 2002-2015, by Derick Rethans
这是我的PHPUnit XML文件:
<phpunit bootstrap="tests/bootstrap.php">
<testsuites>
<testsuite name="tests/suite">
<directory>tests/suite</directory>
</testsuite>
</testsuites>
</phpunit>
解决方法:
好像你没有定义白名单.如果没有任何白名单,PHPUnit 5中将不会生成任何覆盖数据.请尝试以下方法:
<phpunit bootstrap="./test/bootstrap.php" colors="true">
<testsuites>
<testsuite name="Tests">
<directory>./test</directory>
</testsuite>
</testsuites>
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory>./lib</directory>
</whitelist>
</filter>
</phpunit>