specified - Error Phpunit en PhpStorm
phpstorm set php interpreter (8)
Estoy ejecutando pruebas en PhpStorm y me sale este error. ¿Alguien sabe qué demonios podría estar causándolo?
Error grave de PHP: la clase ''PHPUnit_TextUI_ResultPrinter'' no se encuentra en C: / Users / administrator1 / AppData / Local / Temp / ide-phpunit.php en la línea 249
ide-phpunit.php
pruebas en otros proyectos, que también utilizan ide-phpunit.php
y funcionan bien.
Después de actualizar al último compositor, composer run-script drupal-phpunit-upgrade
, PHPStorm aún se asignaba a la versión anterior aunque estaba cargando el autoloader. Fui a Languages & Frameworks> Php> Test Frameworks y presioné el botón de actualización en la misma línea que "Path to Script".
Ahora mi versión de PHPUnit lee 6.5.8.
En mi caso, el problema se debió a las siguientes razones:
- Instalé phpunit usando el compositor con el
composer require phpunit/phpunit
comandocomposer require phpunit/phpunit
. No le presté atención a que, de forma predeterminada, utilizaba php7 e instaló phpunit6 que tiene nombres de clase con espacios de nombres (PHPUnit/TextUI/ResultPrinter
). - IDE ejecuta la versión anterior de phpunit que espera nombres de clase sin espacios de nombres (
PHPUnit_TextUI_ResultPrinter
)
Decidí volver a instalar phpunit
ejecutando el mismo comando de composición que el anterior, pero bajo php 5.6
(porque era importante ser compatible con php5.6) e instaló phpunit 5.7
. Pero es posible ir con la versión más reciente de phpunit y php: Settings > PHP > PHPUnit :: "Use composer autoloader"
(establecer ruta de acceso a phpunit ejecutable dentro de los proveedores (era vendors/bin/phpunit
en mi caso))
En mi caso, en preferencias de phpstorm -> php -> el intérprete de CLI se configuró en local, cuando necesitaba usar php 7 remoto (ubuntu).
Porque uso vagrant box para tener mi entorno configurado en ubuntu.
Error tonto de mi parte ... simplemente olvidé agregar phpunit como una dependencia en el proyecto. Para cualquier persona que reciba este error, a composer.json agregue:
"require-dev": {
"phpunit/phpunit": "3.7.*"
},
Y luego ejecute:
composer update
Eso solucionó el problema.
Recibí este error al usar las diversas teclas modificadoras -F10 en PHPStorm, porque no sabía dónde encontrar la unidad PHP correcta.
En la configuración (ctrl-alt-s), busque PHPUnit. En mi caso quise configurarlo de la siguiente manera:
- "utilizar compositor autoloader"
- Ruta al script:
full-path-to-project/vendor/autoload.php
(este campo estaba vacío para mí, con un error en el cuadro de diálogo)
De lo contrario, intentaría usar alguna versión en caché de la biblioteca ( /tmp/ide-phpunit.php
) en lugar de la versión del compositor. Si prefiere usar algún binario instalado globalmente, por supuesto, podría usar la opción Path to phpunit.phar
.
Tengo el mismo error. Resuelto usando phpunit4.8 (versión anterior)
Tuve el mismo problema con Ubuntu 16.10, phpStorm 2017.2 y Laravel 5.5
Se corrigió al desinstalar phpunit de mi sistema Ubuntu con
sudo apt-get remove phpunit
sudo apt-get install --autoremove
Mi phpStorm-Configuration (Archivo -> Configuración -> Idiomas y Frameworks -> PHP -> Test Frameworks)
Funciona muy bien, ahora!