Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Automatización de Pruebas Yii 2 Utilizando Codeception Linux
Automatización de Pruebas Yii 2 Utilizando Codeception Linux
net/publication/316329446
CITATIONS READS
0 883
1 author:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Jaime Sayago Heredia on 21 April 2017.
Realizado por:
Ing. Jaime Sayago Heredia MSc.
PUCE
1
Contenido
AUTOMATIZACIÓN DE PRUEBAS YII 2 UTILIZANDO CODECEPTION LINUX ............................................................. 1
1. CONFIGURACIÓN DE ENTORNO DE PRUEBAS ............................................................................................. 2
2. INSTALACIÓN DEPENDECIAS ....................................................................................................................... 2
4. COMPROBACIÓN DE LIBRERÍAS .............................................................................................. 4
5. INSTALAR CODECEPTION............................................................................................................................. 6
6. CONFIGURANDO CODECEPTION CON TU PROYECTO ......................................................... 9
7. LOS DIFERENTES TIPOS DE PRUEBAS .................................................................................... 10
8. GENERAR TEST........................................................................................................................................... 10
9. EJEMPLO .................................................................................................................................................... 13
10. ERROR CURL .............................................................................................................................................. 14
11. REFERENCIAS ............................................................................................................................................. 16
2
2. INSTALACIÓN DEPENDECIAS
Para instalar codeception existen distintas maneras una de estas es utilizando composer que es uno
de los manejadores más populares de dependencias y librerías de php.
Este comprueba de qué otros paquetes o librerías depende un proyecto específico y sus respectivas
dependencias y las instala automáticamente usando las versiones apropiadas según los
requerimientos del proyecto.
Para instalar Composer en Ubuntu 16.10 debemos seguir las siguientes instrucciones y tener acceso
permisos de usuario sudo.
El Primero paso que debemos realizar es asegurarnos que nuestro servidor tengas las distintas
dependencias instaladas.
Ahora necesitamos las dependencias. Para eso necesitamos descargar CURL para composer y php7.0-
cli (php*-cli depende la versión php que estemos trabajando) para instalarlo y ejecutarlo. Git es
utilizado por Composer para descargar las dependencias del proyecto; utilizamos el siguiente
comando:
$ composer
4. COMPROBACIÓN DE LIBRERÍAS
Para la comprobación de librerías nos guiamos en el libro Learning Yii Testing (Pescarin, 2015). Comenzamos
en la ubicación del proyecto Yii y ejecutamos el siguiente comando:
$ Php yii
5
El cual va a comprobar si nos faltan algunas librerías adicionales para yii 2 y que el servidor de
pruebas se pueda levantar
Y luego el comando
$ composer update
5. INSTALAR CODECEPTION
Para iniciar la instalación nos ubicamos en el proyecto en que el vamos a configurar las pruebas y
ejecutamos el siguiente código(“Testing environment setup - Testing - The Definitive Guide to Yii 2.0,”
n.d.):
$ composer global require "codeception/codeception=2.1.*"
7
Después, es de ayuda establecer un alias para codecept usando tu directorio global de composer:
Yii también requiere que se instale Faker, que genera información falsa de pruebas para una
aplicación el comando es el siguiente:
El primer comando inicializa codeception para tu aplicación Yii, creando una variedad de archivos de
configuración para construir y ejecutar pruebas contra tu aplicación (“Codeception for Yii2,” n.d.);
este es:
$ codecept bootstrap
Luego ejecutamos:
$ codecept build
• Unit testing verifica que las unidades específicas están funcionando, tal como una exhaustiva
prueba de todos tus métodos de modelo.
• Functional testing verifica escenarios comunes de aplicación como si un usuario real los
estuviera actuando, pero usando emulación de navegador web.
• Acceptance testing es identico a functional testing pero de hecho ejecuta pruebas a través del
navegador.
Y este soporta tres tipos diferentes de formatos de pruebas para tu código de prueba:
8. GENERAR TEST
Generamos nuestra primera prueba de aceptación. Las pruebas de aceptación emulan el
comportamiento de un usuario real que visita su sitio(Jokumsen, 2015). Ejecutamos
Ya que las pruebas de aceptación requieren del navegador, tenemos que editar
/tests/acceptance.suite.yml en nuestro proyecto para proporcionar nuestra URL de desarrollo,
http://localhost/inventario/backend/web/index.php
$ codecept run:
Como se puede observar, nuestra prueba pasó y el código para verificar esta funcionalidad fue
bastante legible y simple.
Es recomendable luego de las pruebas de aceptación generar las pruebas funcionales y las pruebas
unitarias para tener completo el escenario de pruebas de una aplicación en Yii 2.
13
9. EJEMPLO
A continuación agregamos un ejemplo en cual puede ser analizado por cualquier persona que no
tenga conocimiento de las tecnologías utilizadas. Vamos a realizar el inicio de sesión en la página
login o inicio del proyecto vamos a seguir los siguientes pasos:
Escenario
• Modificamos el archivo SingInCept.php agregando los comandos que van a realizar la prueba
Como se puede observar en la última imagen de codecept run encontramos una exception
Esta se debe a que al momento de actualizar el CURL en pasos previos fueron actualizadas todas las
dependencias y librerías de PHP 7 y CURL, así que tenemos que ejecutar algunos comandos:
11. REFERENCIAS
Codeception for Yii2. (n.d.). Retrieved February 21, 2017, from http://codeception.com/for/yii
Jokumsen, A. P. (2015, April 12). Codeception Testing with Yii Framework 2.0 [Day 3]. Retrieved from
http://pjokumsen.co.za/codeception-testing-with-yii-framework-2-0-day-3/
Pescarin, M. (2015). Learning yii testing. Place of publication not identified: Packt Publishing Limited.
Programming With Yii2: Automated Testing With Codeception. (n.d.). Retrieved February 21, 2017, from
https://code.tutsplus.com/tutorials/programming-with-yii2-automated-testing-with-codeception--
cms-26790
Testing environment setup - Testing - The Definitive Guide to Yii 2.0. (n.d.). Retrieved February 21, 2017, from
http://www.yiiframework.com/doc-2.0/guide-test-environment-setup.html