Skip to main content

Pest, PHPStorm y Laravel Sail

Configurar nuestro entorno de trabajo

La comodidad de Laravel Sail es impresionante para quienes trabajamos con decenas de proyectos de versiones distintas, y de software diferente de PHP. Pero tiene sus cosillas. Aquí te dejo como configurar Laravel Sail + PHPStorm + PestPHP.

Configuración

Bien supongo que ya tienes instalado Pest como plugin de PHPStorm. Ahora falta configurarlo.

Click en [Command ⌘][,] para abrir las preferencias.

Se abrirá la imagen de abajo, y deberas rellenarla

PHP Preferencias

Haciendo click en los tres puntitos del CLI Interpreter podrás seleccionar el que usarás con Laravel Sail.

CLI Interpreters

Es importante seleccionar la opción Always start a new container ("docker-compose run") ya que he visto algún video los super bloggers gurús que te lo dicen al revés y te saldrá un error.

[docker-compose://[/Users/abkrim/Sites/swissknife_v3/docker-compose.yml]:laravel.test/]:php vendor/pestphp/pest/bin/pest --teamcity --configuration phpunit.xml /var/www/html/tests/Feature/Jobs/CpanelUsersSynchroJobTest.php "--filter=/^(P\\)?Tests\\Feature\\Jobs\\CpanelUsersSynchroJobTest::it\sexample(\swith\s(data\sset\s\".*\"|\(.*\))(\s\/\s(data\sset\s\".*\"|\(.*\)))*(\s#\d+)?)?$/"
WARNING: Compose V1 is no longer supported and will be removed from Docker Desktop in an upcoming release. See https://docs.docker.com/go/compose-v1-eol/
the input device is not a TTY

Process finished with exit code 1

También es importante que selecciones TÚ php de trabajo, para el proyecto. NO es copiar y pegar. 😁

En test Frameworks, tendrás el plugin de Pest, y veras la configuración. Aunque pone local, no pongas el path completo sino el relativo al proyecto como en la imagen de abajo.

PHP > Test Framework

Cuando ejecutes los test desde el runner de PHPStorm, tendrás un erro que realmente es un warning. No he tenido tiempo de solventarlo, pero si te apetece, escríbeme y lo publico. [abdelkarim.mateos arroba castris.com]

Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.