En esta sección, aprenderemos cómo realizar pruebas y desplegar nuestra aplicación web construida en PHP. Este es un paso crucial para asegurar que nuestra aplicación funcione correctamente y esté lista para ser utilizada por los usuarios finales.

  1. Pruebas

1.1. Tipos de Pruebas

Existen varios tipos de pruebas que podemos realizar en nuestra aplicación:

  • Pruebas Unitarias: Verifican el funcionamiento de componentes individuales (funciones, métodos).
  • Pruebas de Integración: Aseguran que diferentes módulos o servicios de la aplicación funcionen juntos correctamente.
  • Pruebas Funcionales: Validan que la aplicación cumpla con los requisitos funcionales especificados.
  • Pruebas de Usuario: Simulan la interacción del usuario con la aplicación para detectar posibles problemas de usabilidad.

1.2. Herramientas de Pruebas

Para realizar pruebas en PHP, podemos utilizar varias herramientas y frameworks. Algunas de las más populares son:

  • PHPUnit: Un framework para pruebas unitarias en PHP.
  • Behat: Un framework de pruebas de comportamiento.
  • Codeception: Un framework de pruebas que soporta pruebas unitarias, funcionales y de aceptación.

1.3. Configuración de PHPUnit

Instalación

Podemos instalar PHPUnit utilizando Composer. Ejecuta el siguiente comando en la raíz de tu proyecto:

composer require --dev phpunit/phpunit

Configuración

Crea un archivo phpunit.xml en la raíz de tu proyecto con la siguiente configuración básica:

<phpunit bootstrap="vendor/autoload.php">
    <testsuites>
        <testsuite name="Application Test Suite">
            <directory>tests</directory>
        </testsuite>
    </testsuites>
</phpunit>

Escribiendo una Prueba Unitaria

Crea un directorio tests en la raíz de tu proyecto y dentro de él, un archivo ExampleTest.php con el siguiente contenido:

<?php

use PHPUnit\Framework\TestCase;

class ExampleTest extends TestCase
{
    public function testAddition()
    {
        $this->assertEquals(4, 2 + 2);
    }
}

Ejecutando las Pruebas

Para ejecutar las pruebas, utiliza el siguiente comando:

vendor/bin/phpunit

1.4. Ejercicio Práctico

Ejercicio: Escribe una prueba unitaria para una función que calcula el factorial de un número.

Solución:

  1. Crea una función factorial en un archivo functions.php:
<?php

function factorial($n)
{
    if ($n === 0) {
        return 1;
    }
    return $n * factorial($n - 1);
}
  1. Crea un archivo de prueba FactorialTest.php en el directorio tests:
<?php

use PHPUnit\Framework\TestCase;

class FactorialTest extends TestCase
{
    public function testFactorial()
    {
        require 'functions.php';
        $this->assertEquals(120, factorial(5));
        $this->assertEquals(1, factorial(0));
    }
}
  1. Ejecuta las pruebas:
vendor/bin/phpunit

  1. Despliegue

2.1. Preparación para el Despliegue

Antes de desplegar nuestra aplicación, debemos asegurarnos de que:

  • Todas las pruebas pasen correctamente.
  • La aplicación esté configurada para el entorno de producción.
  • Los archivos de configuración sensibles (como las credenciales de la base de datos) estén correctamente gestionados.

2.2. Herramientas de Despliegue

Existen varias herramientas y servicios que podemos utilizar para desplegar nuestra aplicación PHP:

  • Heroku: Un servicio de plataforma como servicio (PaaS) que soporta aplicaciones PHP.
  • DigitalOcean: Un proveedor de infraestructura en la nube que permite desplegar aplicaciones en servidores virtuales.
  • AWS: Amazon Web Services ofrece una amplia gama de servicios para el despliegue de aplicaciones.

2.3. Despliegue en Heroku

Instalación de Heroku CLI

Descarga e instala la Heroku CLI desde aquí.

Configuración del Proyecto

  1. Inicia sesión en Heroku:
heroku login
  1. Crea una nueva aplicación en Heroku:
heroku create nombre-de-tu-aplicacion
  1. Añade un archivo Procfile en la raíz de tu proyecto con el siguiente contenido:
web: vendor/bin/heroku-php-apache2 public/
  1. Asegúrate de que tu proyecto tenga un archivo composer.json con las dependencias necesarias.

Despliegue

  1. Inicializa un repositorio Git en tu proyecto (si no lo has hecho ya):
git init
  1. Añade y confirma los cambios:
git add .
git commit -m "Preparando para el despliegue en Heroku"
  1. Despliega la aplicación en Heroku:
git push heroku master

2.4. Ejercicio Práctico

Ejercicio: Despliega una aplicación PHP simple en Heroku.

Solución:

  1. Crea un archivo index.php en la raíz de tu proyecto con el siguiente contenido:
<?php

echo "¡Hola, mundo!";
  1. Añade un archivo composer.json:
{
    "require": {
        "php": "^7.4 || ^8.0"
    }
}
  1. Añade un archivo Procfile:
web: vendor/bin/heroku-php-apache2
  1. Inicializa un repositorio Git, añade y confirma los cambios, y despliega en Heroku siguiendo los pasos anteriores.

Conclusión

En esta sección, hemos aprendido cómo realizar pruebas en nuestra aplicación PHP utilizando PHPUnit y cómo desplegar nuestra aplicación en Heroku. Las pruebas aseguran que nuestra aplicación funcione correctamente, mientras que el despliegue nos permite poner nuestra aplicación en producción para que los usuarios puedan acceder a ella. Con esto, hemos completado el ciclo de desarrollo de nuestra aplicación web en PHP. ¡Felicidades por llegar hasta aquí!

Curso de Programación en PHP

Módulo 1: Introducción a PHP

Módulo 2: Estructuras de Control

Módulo 3: Funciones

Módulo 4: Arrays

Módulo 5: Trabajando con Formularios

Módulo 6: Trabajando con Archivos

Módulo 7: Programación Orientada a Objetos (POO)

Módulo 8: Trabajando con Bases de Datos

Módulo 9: Técnicas Avanzadas de PHP

Módulo 10: Frameworks de PHP y Mejores Prácticas

Módulo 11: Proyecto: Construyendo una Aplicación Web

© Copyright 2024. Todos los derechos reservados