Behat es la herramienta de BDD de PHP que va introduciéndose en Drupal de la mano de Drupal Extension. Behat permite describir comportamientos mediante Gherkin, un lenguaje pensado para ser escrito y leído por personas que no desarrollen (¡inlcuso por el cliente!) y convertir esos comportamientos en acciones sobre la web y comprobaciones de los resultados de esas acciones que se testean de forma automática. Lo que es más, permite usar diferentes navegadores o emuladores de navegador para realizar las pruebas.
Drupal Extensión es una extensión de Behat que se encarga de realizar la integración de Behat con Drupal, dede Drupal 6 hasta Drupal 8. Es decir, con una misma herramienta podemos probar varias versiones de Drupal, olviando las diferentes particularidades en cuanto a testing de cada core. Drupal Extension ofrece:
- Fijar datos de prueba con drush o con la API de Drupal directamente.
- Definir las regiones del theme y probar que cierta información aparece en cierta región o interactuar con elementos de una región.
- Limpiar la caché, iniciar sesión, cerrar sesión y otros pasos predefinidos específicos de Drupal para facilitar la creación de tests.
- Detectar y ofrecer otros pasos que sean contribuidos por otros modulos y themes.
Esta charla explicará como usar Behat con la Drupal Extensión, las particularidades de cada uno de los 3 drivers incluidos (Blackbox, Drush y API driver), como añadir pasos y que sean descubiertos por Behat, uso de diferentes navegaodres (Goutte, Firefox, PhantomJS) y sus capacidades, y estado de la integración de Behat en Drupal 8.