Pruebas de Plugins (tests unitarios)

Podemos realizar pruebas de nuestro plugin utilizando PHPUnit, colocando los tests unitarios en la carpeta Test del plugin. A continuación, podemos observar un ejemplo en el repositorio de GitHub del plugin Informes.

🗂️ Estructura de archivos

El plugin debe tener una carpeta Test y dentro otra carpeta main, donde finalmente van los archivos php con los tests unitarios, además del archivo install-plugins.txt

  • Test
    • main
      • install-plugins.txt
      • MiTest.php
      • MiSegundoTest.php
      • ...

Si además queremos ejecutar pruebas de nuestro plugin en combinación con otros, podemos crear más carpetas dentro de Test, cada una con un archivo install-plugins.txt propio donde indicaremos los plugins a activar para ejecutar esos tests.

  • Test
    • main
      • install-plugins.txt
      • MiTest.php
      • MiSegundoTest.php
      • ...
    • informes
      • install-plugins.txt
      • ...

📃 Archivo install-plugins.txt

En el archivo install-plugins.txt debemos incluir los nombres de los plugins a instalar. Por defecto, se debe añadir el nombre del propio plugin. Si se requieren activar otros plugins previamente, simplemente se debe colocar la lista de plugins a instalar, separados por comas. No olvides incluir el nombre del plugin que estás desarrollando:

StockAvanzado,Servicios

🧪 Creación de un Test Unitario

Podemos crear un test unitario utilizando fsmaker con el parámetro test. Nos pedirá el nombre del archivo y lo creará en la carpeta.

fsmaker test

También podemos crear el test manualmente. Este debe ser un archivo PHP cuyo nombre termine por Test. Debe usar el espacio de nombres FacturaScripts\Test\Plugins y heredar de PHPUnit\Framework\TestCase. Además, las funciones a ejecutar dentro del test unitario deben tener un nombre que comience por test.

<?php

namespace FacturaScripts\Test\Plugins;

use PHPUnit\Framework\TestCase;

class MiTest extends TestCase
{
    public function testCreate(): void
    {
        // tu código aquí
    }
}

Recuerda que las funciones deben comenzar por test, de lo contrario no se ejecutarán al pasar los tests.

🚀 Ejecución de Tests

Para ejecutar los tests del plugin podemos usar igualmente fsmaker, pero con la opción run-tests:

fsmaker run-tests

Si preferimos ejecutarlos manualemente, debemos copiar los tests del plugin a la carpeta Test/Plugins de FacturaScripts, abrir un terminal en la carpeta raíz de FacturaScripts y ejecutar los siguientes comandos:

php install-plugins.php
vendor/bin/phpunit phpunit-plugins.xml

🕑 Ejecución de Tests como GitHub Actions

Puedes crear una acción de GitHub para ejecutar los tests del plugin con cada nuevo commit. Aquí tienes un ejemplo:

Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2025 FacturaScripts
0.23164s

Soporte