unit software intellij cli php unit-testing automation phpunit phpstorm

intellij - software testing php



Ejecutar prueba de unidad al guardar el archivo en PhpStorm (3)

A partir de la versión 6, PHPStorm tiene "Observadores de archivos"

  • Abra sus preferencias de proyecto.
  • Seleccione File Watchers de la lista de opciones de la izquierda.
  • Haga clic en el símbolo + en la parte inferior del panel vacío de la derecha.
  • Seleccione <custom>

Tendrá que configurar una línea de comandos para PHPUnit, no será la prueba integrada, pero puede tener errores en la consola (lo que es un buen comienzo).

Hay varias opciones de macro disponibles para usted, por lo que puede incluir (por ejemplo) $FileNameWithoutExtension$Test.php en los argumentos que se le pasan a la línea de comandos.

Yo personalmente tuve que configurar dos observadores. Las primeras modificaciones detectadas en los archivos del proyecto y la segunda cambios detectados en los archivos de prueba (la segunda no Test.php al nombre de archivo) También creé un nuevo ámbito de proyecto para excluir los directorios de prueba del primer observador.

Es posible que también desee desactivar la sincronización inmediata, ya que esto hace que PHPUnit se ejecute cuando PHPStorm guarda automáticamente los archivos.

Mis otros ajustes son como:

  • Tipo de archivo: PHP files (PHP)
  • Ámbito: Project excluding tests
  • Programa: /path/to/php
  • Argumentos: /path/to/phpunit --configuration /path/to/phpunit.xml.dist /path/to/tests/$FileNameWithoutExtension$Test.php
  • Directorio de trabajo: $FileDir$
  • $FileDir$ salida: $FileDir$

No hay filtros de salida establecidos, verificaciones de errores de sintaxis habilitadas y consola que muestra errores.

He configurado PhpStorm 5 con PHPUnit, y tengo curiosidad de que PhpStorm tenga alguna funcionalidad que ejecute automáticamente una prueba de unidad al guardar un archivo. Como watchr y guardia. He intentado buscar en nuestra querida www y en los documentos de PhpStorm, pero no he podido encontrar una solución para ello.



También puedes echar un vistazo a TDDRunner

Es una herramienta de consola que ejecuta PHPUnit automáticamente en los cambios de archivos. También puede configurar PHPUnit ejecutando solo un archivo de lo que sea.

/usr/bin/tddrunner --group=test

Hay un artículo alemán que proporciona más detalles.