Подтвердить что ты не робот

PHPUnit. Ошибка: нет драйвера для покрытия кода. (с установленным xdebug)

Есть ответ на аналогичный вопрос Laravel 5: PHPUnit и драйвер для покрытия кода, который работает, но у меня установлен xdebug.

(если этот вопрос я использую: windows7, netbeans8.1, php7, wamp3)

Отображение покрытия кода в Netbeans приводит к:

Ошибка: драйвер кода покрытия недоступен

, и выход ниже:

"C:\wamp\www\treningPHPUnitSymfony2.8\bin\phpunit.bat" "--colors" "--log-junit" "C:\Users\chiny\AppData\Local\Temp\nb-phpunit-log.xml" "--coverage-клевер" "C:\Users\CHINY\AppData\Local\Temp\пь-PHPUnit-coverage.xml" "C:\Program Files\NetBeans 8.1\php\phpunit\NetBeansSuite.php" "-" "--run = C:\WAMP\WWW\treningPHPUnitSymfony2.8\SRC\TreningBundle\Tests\Controller\RabarbarControllerTest.php" PHPUnit 5.3.4 от Себастьяна Бергмана и авторов.

Ошибка: драйвер кода покрытия недоступен

.II 3/ 3 (100%)

Время: 1,13 секунды, память: 4,00 МБ

ОК, но неполные, пропущенные или рискованные тесты! Тесты: 3, Утверждения: 1, Неполнота: 2. Сделано.] (Url)

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

загруженные расширения загруженное расширение wamp

(у меня есть netbeans и каталог проекта в том же разделе Windows)

4b9b3361

Ответ 1

В большинстве установок Apache/PHP есть 2 файла php.ini и, безусловно, в WAMPServer

Чтобы внести поправки в правильный php.ini, используемый PHP в Apache, используйте меню

wampmanager->PHP->php.ini

Но для файла php.ini, используемого PHP CLI, вам нужно вручную отредактировать

\wamp\bin\php\php{version}\php.ini

результат a php -v должен выглядеть так, если XDEBUG настроен в CLI

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 Обновления ADDON можно найти на SourceForge

Последняя версия ADDON PHP - это PHP7.0.6, также доступная на SourceForge

Смотрите The WampServer Forum, чтобы быть в курсе последних выпусков PHP/MYSQL/Apache ADDONS для WAMPServer 3

Также:

Вы можете обнаружить, что tweek параметры конфигурации XDEBUG в php.ini в соответствии с вашими конкретными потребностями

Ответ 2

Я столкнулся с этой проблемой с новой установкой 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 и т.д.

Ответ 3

Мои настройки: (PHP + Xdebug на CLi включен)

MAMP 4 PRO/OS X 10.12

PHP 7.0.10 (cli) (built: Aug 25 2016 17:32:10) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans

zend_extension="/Applications/MAMP/bin/php/php7.0.10/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so"
 xdebug.profiler_enable=1
 xdebug.profiler_output_dir="/Applications/MAMP/tmp"
 xdebug.coverage_enable=1

И покрытие по-прежнему не будет выполнено: "Нет драйвера для покрытия кода"