# 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](https://multimedia.castris.com/imagenes/wiki/programacion/phptstorm/Pest-PHPStorm-PHP-01.jpg)

Haciendo click en los tres puntitos del **CLI Interpreter** podrás seleccionar el que usarás con Laravel Sail.

![CLI Interpreters](https://multimedia.castris.com/imagenes/wiki/programacion/phptstorm/Pest-PHPStorm-Cli-Interpreter-02.jpg)

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](https://multimedia.castris.com/imagenes/wiki/programacion/phptstorm/Pest-PHPStorm-PHP-Test-Frameworks-Pest-Local.jpg)

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](https://castris.com)

Si necesitas soporte profesional puedes contratar con Castris [soporte profesional](https://intranet.castris.com/cart.php?gid=18).