OpenByt - Su fuente definitiva de conocimientos gratuitos sobre WordPress

WordPress: Guía de pruebas automatizadas y CI

La era de confiar únicamente en las pruebas manuales para el desarrollo de software, incluido WordPress, ha llegado a su fin. La transición de las pruebas manuales a las automatizadas responde a la evolución de las necesidades de los equipos de desarrollo de software. Este artículo ofrece una visión general, sencilla pero detallada, de por qué se ha producido este cambio, las ventajas de las pruebas automatizadas y la integración continua (IC) para el desarrollo de WordPress, y cómo aplicar estas prácticas de forma eficaz.

1. El cambio de las pruebas manuales a las automatizadas en WordPress

Las pruebas manuales son esenciales para comprender cómo funciona una aplicación, pero tienen numerosas limitaciones. Lleva mucho tiempo, requiere importantes recursos y es propensa al error humano, especialmente en escenarios repetitivos.

Las pruebas automatizadas abordan estos problemas proporcionando una forma rápida, eficaz y coherente de probar las aplicaciones de WordPress. Tanto si está construyendo un sencillo blog como un complejo sitio web para miembros, las pruebas automatizadas ahorran tiempo, reducen los errores y ayudan a garantizar que su sitio web funcione según lo previsto.

1.1 ¿Por qué la transición a las pruebas automatizadas?

2.Beneficios de las pruebas automatizadas y CI/CD en el desarrollo de WordPress

Las pruebas automatizadas y la integración continua/implantación continua (CI/CD) son vitales para mantener sitios web WordPress de alta calidad.

3. Herramientas clave para las pruebas automatizadas en WordPress

Se pueden emplear varias herramientas para agilizar las pruebas automatizadas en WordPress. Estas herramientas garantizan la calidad del código, comprueban la compatibilidad de los plugins y ayudan a identificar los problemas en una fase temprana del ciclo de desarrollo.

3.1 PHPUnit

PHPUnit es el marco de pruebas oficial que el equipo de desarrollo del núcleo de WordPress ha aprobado para probar el código PHP. Es una herramienta robusta que garantiza la estabilidad de plugins y temas.

Configuración paso a paso para PHPUnit:

1.Instale PHPUnit:

Instale PHPUnit a través de Composer. Ejecute el siguiente comando para instalar:

composer require --dev phpunit/phpunit

Razón: El uso de Composer le asegura que dispone de la versión correcta de PHPUnit compatible con su entorno WordPress.

2.Clone el repositorio de pruebas de WordPress:

Clone el repositorio de pruebas de WordPress para crear un entorno de pruebas aislado. Utilice Git o SVN para clonar:

git clone https://github.com/WordPress/wordpress-develop.git

Razón: Esto le proporciona los archivos y el entorno necesarios para probar su código WordPress sin afectar a su configuración de producción.

3.Configure su entorno de pruebas:

4.Ejecute las pruebas PHPUnit:

Ejecute las pruebas con el siguiente comando:

./vendedor/bin/phpunit

Razón: La ejecución de pruebas ayuda a identificar los errores en una fase temprana del proceso de desarrollo, lo que mejora la calidad del código y reduce los problemas de despliegue.

PHPUnit es ideal para probar la funcionalidad backend de sus plugins y temas, proporcionando información detallada a los desarrolladores.

3.2 WP-CLI

WP-CLI es la interfaz de línea de comandos para WordPress, que simplifica la configuración y gestión de las pruebas PHPUnit.

Uso de WP-CLI para configurar pruebas:

1.Instale WP-CLI:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp

Razón: WP-CLI proporciona una forma más rápida de gestionar las instalaciones de WordPress, especialmente útil para tareas repetitivas como la configuración de entornos de prueba.

2.Genere los archivos de prueba del plugin:

Utilice WP-CLI para crear archivos de pruebas unitarias para su plugin:

wp scaffold plugin-prueba mi-plugin

Razón: La wp scaffold plugin-pruebas crea todos los archivos necesarios para iniciar las pruebas, ahorrándole tiempo.

3.Configure la base de datos de prueba:

Cree una base de datos de pruebas independiente para ejecutar pruebas unitarias sin afectar a sus datos de producción:

bash bin/install-wp-tests.sh wordpress_test root '' localhost

Sugerencia: Utilice siempre una base de datos de prueba dedicada para evitar modificaciones accidentales en los datos de su sitio en vivo.

4.Realice pruebas:

3.3 Cypress para pruebas de extremo a extremo

Ciprés es un marco de trabajo de código abierto para crear pruebas de extremo a extremo para sitios web de WordPress. Es especialmente útil para probar cómo interactúa un sitio web con los usuarios.

Cómo configurar Cypress:

1.Instale Cypress:

Instale Cypress a través de npm:

npm install cypress --save-dev

Razón: Cypress is designed for end-to-end testing, which means it tests your website’s entire workflow, providing insights into user interactions.

2.Configure Cypress:

Cypress crea automáticamente los archivos y carpetas necesarios, tales como ciprés.jsonpara configurar el marco de trabajo. Puede configurar este archivo para adaptarlo a las necesidades de su proyecto.

Sugerencia: Personalice el baseUrl en ciprés.json para adaptarse a su entorno de pruebas.

3.Pruebas de escritura:

Cypress utiliza JavaScript para escribir scripts de prueba. Por ejemplo, para probar una página de inicio de sesión:

describe('Login Test', () => {
  it('should log in successfully', () => {
    cy.visit('https://example.com/login');
    cy.get('input[name="username"]').type('user');
    cy.get('input[name="password"]').type('password');
    cy.get('button[type="submit"]').click();
    cy.contains('Dashboard').should('be.visible');
  });
});

Razón: Cypress proporciona una sintaxis clara que facilita la escritura y la comprensión de los casos de prueba, incluso para los principiantes.

4.Realice pruebas:

Ejecute las pruebas de Cypress utilizando:

npx ciprés abierto

Sugerencia: La interfaz de usuario de Cypress representa visualmente cada paso de la prueba, lo que facilita la depuración.

Ciprés proporciona una forma muy visual e interactiva de probar las interacciones de los usuarios, lo que la hace especialmente eficaz para las pruebas frontales.

3.4 Behat para el Desarrollo Orientado al Comportamiento (BDD)

Behat es un framework centrado en el desarrollo basado en el comportamiento (BDD), ideal para probar experiencias de usuario en WordPress.

Configuración de Behat:

1.Instale Behat:

Instale Behat utilizando Composer:

composer require --dev behat/behat

Razón: Behat le permite probar el comportamiento de su aplicación WordPress en lenguaje natural, asegurándose de que la funcionalidad cumple con los requisitos del negocio.

2.Configure Behat:

Crear un behat.yml archivo de configuración:

por defecto:
  suites:
    por defecto
      contextos:
        - FeatureContext
  extensiones:
    Behat\MinkExtension:
      base_url: http://localhost
      selenium2: ~

Sugerencia: Utilice MinkExtension para la automatización del navegador, facilitando la simulación de las interacciones del usuario.

3.Escenarios de escritura en Gherkin:

Behat utiliza Gherkin, un lenguaje que describe el comportamiento de los usuarios. Por ejemplo:

Función: Inicio de sesión de usuario
  Escenario: Inicio de sesión con éxito
    Dado que estoy en "/login"
    Cuando relleno "nombre de usuario" con "usuario"
    Y relleno "password" con "contraseña"
    Y pulso "Login"
    Entonces debería ver "Bienvenido a su panel de control"

Razón: Escribir en Gherkin permite a las partes interesadas no técnicas entender lo que se está probando.

4.Realice pruebas:

Ejecute Behat utilizando:

vendor/bin/behat

Sugerencia: Ejecutar pruebas con frecuencia ayuda a identificar las discrepancias entre los comportamientos esperados y los reales.

Behat es ideal para garantizar que su sitio web WordPress cumple los requisitos empresariales centrándose en los escenarios del usuario final.

3.5 Codecepción para pruebas exhaustivas

Codeception permite a los desarrolladores realizar pruebas unitarias, funcionales y de aceptación en una sola herramienta, proporcionando pruebas completas para los proyectos de WordPress.

Cómo configurar Codeception:

1.Instale Codeception:

Utilice Composer para instalar Codeception:

composer require codeception/codeception --dev

Razón: Codeception admite diferentes pruebas, lo que lo hace versátil para realizar pruebas exhaustivas en WordPress.

2.Inicialice Codeception:

Ejecute el comando de inicialización para configurar Codeception:

vendor/bin/codecept bootstrap

Sugerencia: Al inicializar Codeception se crea la estructura de carpetas necesaria para los distintos conjuntos de pruebas.

3.Configure las suites de prueba:

4.Pruebas de escritura:

Codeception soporta scripts de prueba basados en PHP para probar diferentes escenarios, como:

wantTo('asegurarse de que el inicio de sesión funciona');
$I->amOnPage('/inicio de sesión');
$I->fillField('nombredeusuario', 'usuario');
$I->fillField('contraseña', 'contraseña');
$I->click('Iniciar sesión');
$I->ver('Panel de control');

Sugerencia: El uso de nombres descriptivos para las pruebas facilita la comprensión de las intenciones y los resultados de las mismas.

5.Realice pruebas:

vendor/bin/codecept run

Codeception combina diferentes pruebas en un único flujo de trabajo, validando proyectos complejos de WordPress de forma robusta.

4. Integración de las herramientas de prueba con los entornos de desarrollo

Integrating automated testing tools with development environments helps streamline and enhance testing processes. Here’s how you can incorporate these tools into different environments:

Salir de la versión móvil