Drupal 8 está complementando el marco de prueba basado en Simpletest con PHPUnit , y Simpletest podría eliminarse en Drupal 9.
Todavía no estoy actualizando a Drupal 8, pero me preguntaba cómo puedo escribir las pruebas existentes en PHPUnit (para seguir la tendencia) para Drupal 7, en lugar de en Simpletest.
¿Hay algún método o módulo para integrar PHPUnit con Drupal 7?
Hay pocos como phpunit o drunit , pero no son para Drupal 7.
Respuestas:
Puede ejecutar las pruebas de PHPUnit iniciando Drupal dentro de cada uno de sus archivos de prueba. No es ideal, pero funciona.
fuente
PHPUnit proporciona una buena API para construir los objetos, mientras que la más simple de Drupal no. Hay una biblioteca disponible en gist para integrar PHPUnit con Drupal 7 .
Para ejecutar esos scripts, debe verificar este repositorio esencial . Para ejecutar Pruebas unitarias en la línea de comandos, simplemente vaya a un sitio de Drupal (es decir
<DRUPAL_ROOT>/sites/default
) y use dphpunit.bash tal como usaría el comando phpunit.El script consta de 3 archivos:
Fuente: http://devblog.more-onion.com/content/writing-unit-tests-drupal-7
bootstrap.inc.php
dphpunit.bash
drun-phpunit.php
Hay una biblioteca más disponible para integración PHPUnit con Drupal 7: https://github.com/sebastianbergmann/phpunit
Puede consultar más información sobre estos scripts aquí: http://thomaslattimore.com/blog/using-phpunit-with-drupal-7
fuente
Hay una solución alternativa con el archivo de configuración.
Gist: https://gist.github.com/permanovd/cb9c02920c49a29c97653f4f697147b1
Eso es todo. Ahora puede comenzar sus pruebas de varias maneras.
1. CLI
phpunit -c phpunit.xml.dist QuestionValidationValueOptionsInputTest /yoursite.dir/public_html/profiles/standard/modules/some_module/tests/QuestionValidationTest.php
dónde:
2. IDE (tormenta de php)
Debe agregar la configuración de prueba de ejecución
Y no es necesario incluir el código de arranque de drupal en cada prueba.
Nota
Puede tener problemas con las pruebas debido a la versión incorrecta de php de su entorno.
Otras lecturas:
https://phpunit.de/manual/current/en/organizing-tests.html
fuente