Automatizando test funcionales con Behat y Drupal: Instalación y puesta en marcha desde cero |
blackhat seo p>
¿Qué es Behat?
Behat es una herramienta de
BDD(Behaviour Driven Development) que se utiliza para comprobar el comportamiento de una aplicación desde el punto de vista de un final. Es muy popular el empleo de esta herramienta para pruebas de automatización de casos, usando escenarios legibles para los humanos.
Para redactar los test se utiliza el lenguaje, muy similar al Inglés, de manera que se puedan redactar los test de la manera "Teniendo en cuenta que... Entonces debería...". Se puede además extender escribiendo funciones PHP personalizadas en el archivo FeatureContest.php que se crea en la carpetita bootstrap.
¿Cuando utilizar Behat?
Behat ayuda a cumplir con las especificaciones y requisitos del cliente por el hecho de que funciona con
testque describen escenarios de posibles comportamientos del usuario en la web. Estos test pueden ser creados y mantenidos por cualquier persona, así sea un gerente de proyecto, un desarrollador o cualquier otra parte interesada en el proyecto.
Los
test automatizadosde Behat pueden ayudar a:
¿Donde no puede ayudar Behat?
A continuación pasamos a la fase de instalación, para poner en marcha Behat en nuestro Drupal desde cero.
Instalación
Se puede instalar de forma cómoda y sencilla mediante
composer. Añade estas líneas a tu proyecto web .json en Drupal, o, en una carpetita /behat aparte.
Luego dejamos que composer haga su trabajo:
dólares americanos composer install
Después de esto, tendremos nuevas carpetas como:
/bin (Donde está el ejecutable de behat y otros como drush)
/vendor (todas y cada una de las dependencias precisas)
Ahora necesitamos este otro archivo:
behat.yml
Recuerda modificar la url que quieres probar en: base_url.
Luego:
$ bin/behat --init
Y el paso final:
$ bin/behat -dl
Este listado muestra las posibles acciones que podemos emplear en los test, y su sintaxis.
Escribiendo nuestros primeros test. Escenarios
Los escenarios describen la funcionalidad que queremos probar, tal como si fuese un usuario final. Estos escenarios se escriben en unos ficheros llamados fueatures y se alojan en la carpetita /features.
Ejemplo, queremos testar que un usuario anónimo en Drupal, puede iniciar y cerrar apropiadamente su sesión. En el front hemos habilitado un bloque que sólo verán los usuarios registrados, con un texto "BIenvenido usuario". El usuario anónimo no debería ver ese bloque, ni el de herramientas.
Creamos un archivo nuevo en /features:
home.feature
Ahora, lanzamos el test, desde la raiz del proyecto
dólares americanos bin/behat
Como podemos ver, el escenario es válido y se valida el test completo sin aparecer fallos (once pasos / once pasaron).
Supongamos que accidentalmente cambiamos la configuración del bloque, y queda visible también para usuarios anónimos, lanzamos de nuevo el test, y mostraría lo siguiente:
Y ahí tenemos visible el fallo, identificado de manera perfecta el escenario.
Conclusiones
Esta herramientapor tanto
ayuda a adoptar buenas prácticasen los equipos de desarrollo, siendo muy aconsejable la rutina de ejecutar los test ya antes de mandar un commit, para asegurarnos que el código no produce regresiones, aun su integración con herramientas de integración continua como
Jenkins.
Êîììåíòèðîâàòü | « Ïðåä. çàïèñü — Ê äíåâíèêó — Ñëåä. çàïèñü » | Ñòðàíèöû: [1] [Íîâûå] |