类似问题Laravel 5: PHPUnit and no code coverage driver available的答案有效,但我安装了xdebug。
(如果我使用的话:windows7,netbeans8.1,php7,wamp3)
在Netbeans中显示代码覆盖率导致:
错误:没有可用的代码覆盖率驱动程序
, 输出如下:
" C:\瓦帕\ WWW \ treningPHPUnitSymfony2.8 \ BIN \ phpunit.bat" " - 颜色" " - 对数的junit" " C:\用户\吉尼\应用程序数据\本地\ TEMP \ NB-PHPUnit的-log.xml" " - 覆盖-三叶草" " C:\用户\吉尼\应用程序数据\本地\ TEMP \ NB-PHPUnit的-coverage.xml" " C:\ Program Files \ NetBeans 8.1 \ php \ phpunit \ NetBeansSuite.php" " - " " - 运行= C:\瓦帕\ WWW \ treningPHPUnitSymfony2.8 \ SRC \ TreningBundle \测试\控制器\ RabarbarControllerTest.php" Sebastian Bergmann和贡献者的PHPUnit 5.3.4。
错误:没有可用的代码覆盖率驱动程序
.II 3 / 3(100%)
时间:1.13秒,内存:4.00MB
好的,但不完整,跳过或有风险的测试!测试:3,断言:1, 不完整:2。完成。](网址)
xdebug conf(C:\ wamp \ bin \ apache \ apache2.4.17 \ bin \ php.ini):
[xdebug]
zend_extension ="C:/wamp/bin/php/php7.0.1/zend_ext/php_xdebug-2.4.0rc3-7.0-vc14.dll"
xdebug.remote_enable = off
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = Off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir ="C:/wamp/tmp"
xdebug.show_local_vars=0
(我在同一个Windows分区中有netbeans和项目目录)
答案 0 :(得分:21)
大多数Apache / PHP安装中有2个php.ini
个文件,肯定在WAMPServer中
修改Apache中PHP使用的正确php.ini
使用菜单
wampmanager->PHP->php.ini
但是对于PHP CLI使用的php.ini
文件,您必须手动编辑
\wamp\bin\php\php{version}\php.ini
如果在CLI中配置了XDEBUG,php -v
的结果应如下所示
php -v
PHP 7.0.6 (cli) (built: Apr 27 2016 14:00:40) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans
注意强>
目前的WAMPServer 3是3.0.4
可以在SourceForge
最新的ADDON PHP版本是PHP7.0.6,也可以在SourceForge
上找到请参阅The WampServer Forum以了解最新版本的WAMPServer 3的PHP / MYSQL / Apache ADDONS
另外:
您可能会发现php.ini
中的tweek the XDEBUG config parameters符合您的特定需求
答案 1 :(得分:6)
我在使用PHP 7.1的新安装时遇到了这个问题,这就是我为使其工作而做的事情
$ brew install php71-xdebug
$ php -i | grep xdebug
//检查xdebug是否已安装
$ phpunit
之后它起作用了。另外这就是我的phpunit.xml看起来像我需要将整个结构列入白名单的原因,因为它是共享组件
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="vendor/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
syntaxCheck="false">
<testsuites>
<testsuite name="Tests">
<directory suffix=".php">./Tests/</directory>
</testsuite>
</testsuites>
<logging>
<log type="coverage-clover" target="./build/logs/clover.xml"/>
</logging>
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory>./</directory>
</whitelist>
</filter>
</phpunit>
此解决方案仅适用于MacOS,如果您希望在Linux上运行,则需要使用apt-get等适用的包管理器。
答案 2 :(得分:2)
在Debian上也有同样的问题:
错误:没有代码覆盖率驱动程序
我通过安装php-xdebug修复了该问题:sudo apt install php-xdebug