En nuestro post “Configura PHPUnit y Local WP para tus proyectos WordPress” configuramos PHPUnit junto con Local para después hacer pruebas a nuestros plugins. Es una buena forma para mantener nuestro código a prueba de errores, entre otros beneficios.
Las pruebas pueden ejecutarse desde la terminal ejecutando el comando:
vendor/bin/phpunit
Sin embargo, hay algunos que desean ejecutar PHPUnit desde su editor favorito; y el editor que he venido usando ya hace un par de años es PHPStorm. Así que vamos a configurar PHPStorm y PHPUnit para nuestros proyectos Local.
PHPStorm y PHPUnit
Retomando el proyecto anterior, WP PHPUnit Plugin Example, debemos abrirlo en nuestro PHPStorm y después abrir el archivo test-class-wp-phpunit-pe-simple.php
.
El archivo test-class-wp-phpunit-pe-simple.php
contiene una prueba muy sencilla pero nos servirá para ver si nuestro PHPStorm y PHPUnit están configurados.
En primera, la clase tiene un extends
, hereda a la clase WP_UnitTestCase
. Esa clase contiene todos los asserts (métodos de comprobación) que aplicaremos a nuestro código.
Sin embargo, PHPStorm te dirá que la clase no está definida y se debe a que no encuentra ninguna clase con el mismo nombre en tu proyecto:
Agregando WP_UnitTestCase
¿Recuerdas que habíamos descargado una carpeta wordpress-tests-lib
? Esa carpeta es descargada cuando ejecutamos el archivo /bin/install-wp-tests.sh
e incluye los siguientes archivos:
La clase WP_UnitTestCase
existe dentro del archivo wordpress-tests-lib/includes/testcase.php
y a su vez esa clase extiende la clase WP_UnitTestCase_Base
.
Para que la clase WP_UnitTestCase
sea visible en nuestro proyecto debemos agregar la carpeta completa de wordpress-tests-lib
. Para hacer esto, debes abrir los Settings de tu PHPStorm e ir a PHP->Include Path->Add (+)->Specify Other…:
De ahí busca y selecciona la carpeta wordpress-tests-lib
y le das OK:
Después de agregar, da click en Apply y después OK.
Las pruebas
Recuerda que las pruebas las estamos haciendo acorde a lo que hicimos en el post anterior, donde configuramos PHPUnit en nuestros proyectos de Local.
Ahora, si pones tu cursor sobre la clase WP_UnitTestCase
te saldrá la descripción de la clase:
Incluso después de agregar todas las clases necesarias a nuestro PHPStorm, podrás ver íconos Play de color verde los cuales sirven para ejecutar la clase o método de nuestra prueba:
Si le das click en ese botón o el que está a lado del nombre de la clase te saldrá un cuadro preguntando qué harás: correr las pruebas, hacer un debug, entre otros. De momento nosotros solo debemos correr las pruebas:
Las pruebas empezarán a correr y si todo sale bien, de acuerdo a tu tipo de prueba (recuerda que estamos usando nuestro plugin de prueba WP PHPUnit Plugin Example), te debe salir un resultado similar al de la siguiente imagen:
Si te sale algún tipo de error puedes pegarlo en los comentarios y con gusto te ayudaré a resolverlo.
Ahora si, ¡estás listo para hacer tus pruebas usando PHPStorm y PHPUnit!
Deja un comentario