Yii2 y Codeception: ejecución inicial

Acabas de empezar en el mundo de Yii2, y quieres probar tu aplicación.

Ya sabes, antes de empezar a descomponer todo lo que ya funciona.

Así que quieres empezar a correr las pruebas y sabes, o has escuchado, que Yii2 ejecuta los tests con Codeception.

Así que, ejecutas el comando:

codecept run

Y, bueno, nada:

bash: codecept: command not found

Así que comienzas a buscar por internet y te das cuenta que el ejecutable está en vendor/bin/codecept:

./vendor/bin/codecept run

Y al ejecutar, bueno, las cosas no salen tan bien:

Figura 1: Primer intento, y todo encendió.

Figura 1: Primer intento, y todo encendió.

Aún no empezamos a desarrollar y todo se ha encendido como un bonito arbolito de Navidad :(.

Vale, el error es que no encuentra la base de datos yii2advanced_test.

Para resolver ese pequeño problema, buscamos en todo el código fuente del proyecto. Resulta que esa cadena existe en el archivo common/config/test-local.php (al menos, en la plantilla avanzada), donde hemos de configurar la base de datos.

Vas a tu programa de base de datos (llámese Navicat, Heidi SQL, o incluso phpMyAdmin) y creas una base de datos especial para las pruebas. ¡Es importante que la base de datos sea diferente a la que utilizas!

Configuras con el nombre apropiado y vuelves a ejecutar:

Figura 2: Segundo error, ahora no hay tablas.

Figura 2: Segundo error, ahora no hay tablas.

*suspiro*

El error, el gran recuadro rojo, ahora dice que las tablas no existen.

Obvio, no hemos ejecutado las migraciones… pero, ¿cómo ejecutamos las migraciones en la base de datos de prueba?

La respuesta viene de StackOverflow:

yii_test migrate

Y, tras ejecutar nuevamente codecept:

Figura 3: Pruebas ejecutadas con éxito.

Figura 3: Pruebas ejecutadas con éxito.

¡Éxito!

Y, bueno, sabrá Dios qué hacen esas pruebas, y por qué funcionan.

Pero, y mira que es lo relevante en esta entrada, ya pudimos utilizar Codecept :D.



Deja un comentario