pruebas - PHPUnit. Error: No hay ningún controlador de cobertura de código disponible.(tener instalado xdebug)
como hacer pruebas unitarias con phpunit (3)
Hay 2 archivos php.ini
en la mayoría de las instalaciones de Apache / PHP y definitivamente en WAMPServer
Para corregir el php.ini
correcto utilizado por PHP en Apache use los menús
wampmanager->PHP->php.ini
Pero para el archivo php.ini
utilizado por la CLI de PHP, tiene que editar manualmente
/wamp/bin/php/php{version}/php.ini
el resultado de un php -v
debería tener este aspecto si XDEBUG está configurado en la 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
NOTA
El actual WAMPServer 3 es 3.0.4
Las actualizaciones de ADDON se pueden encontrar en SourceForge
La última versión de ADDON PHP es PHP7.0.6 también disponible en SourceForge
Consulte el Foro de WampServer para mantenerse al día con las últimas versiones de PHP / MYSQL / Apache ADDONS para WAMPServer 3.
También :
Es posible que tenga que ajustar los parámetros de configuración de XDEBUG en el php.ini
para satisfacer sus necesidades específicas
Hay una respuesta para la pregunta similar Laravel 5: PHPUnit y no hay un controlador de cobertura de código disponible que funcione, pero tengo instalado xdebug.
(Si esto importa, estoy usando: windows7, netbeans8.1, php7, wamp3)
Mostrar la cobertura de código en Netbeans resulta en:
Error: no hay un controlador de cobertura de código disponible
, y la salida es abajo:
"C: / wamp / www / treningPHPUnitSymfony2.8 / bin / phpunit.bat" "--colors" "--log-junit" "C: / Users / chiny / AppData / Local / Temp / nb-phpunit-log. xml "" --coverage-clover "" C: / Users / chiny / AppData / Local / Temp / nb-phpunit-coverage.xml "" C: / Archivos de programa / NetBeans 8.1 / php / phpunit / NetBeansSuite.php "" - "" --run = C: / wamp / www / treningPHPUnitSymfony2.8 / src / TreningBundle / Tests / Controller / RabarbarControllerTest.php "PHPUnit 5.3.4 por Sebastian Bergmann y colaboradores.
Error: no hay un controlador de cobertura de código disponible
.II 3/3 (100%)
Tiempo: 1.13 segundos, Memoria: 4.00MB
OK, pero incompleto, omitido, o pruebas de riesgo! Pruebas: 3, Afirmaciones: 1, Incompleta: 2. Hecho.] (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
(Tengo netbeans y directorio de proyectos en la misma partición de Windows)
He enfrentado este problema con una nueva instalación de PHP 7.1 y esto es lo que he hecho para que funcione
$ brew install php71-xdebug
$ php -i | grep xdebug
$ php -i | grep xdebug
// para verificar si xdebug fue instalado
$ phpunit
Después de eso funcionó. Además, así es como parece que mi phpunit.xml he necesitado para incluir en la lista blanca toda la estructura porque es un componente compartido
<?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>
Esta solución funcionará solo en MacOS; si desea que funcione en Linux, deberá utilizar el administrador de paquetes correspondiente, como apt-get, etc.
Mis configuraciones: (PHP + Xdebug en CLi habilitado)
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
Y la cobertura aún no se realizará: "No hay un controlador de cobertura de código disponible"