Pruebas de Métodos Personalizados en PHP con Laravel
Clase 8 de 24 • Curso Básico de Testing con PHP y Laravel
Resumen
¿Cómo probar un método personalizado en PHP?
En el mundo del desarrollo de software, probar nuestros métodos personalizados es crucial para garantizar que nuestro código funcione correctamente y de manera consistente. Imagina que hemos desarrollado un sitio web o una aplicación, y queremos asegurar que todas las funcionalidades, incluyendo nuestros métodos personalizados, operen al 100%. En este artículo, exploraremos cómo puedes configurar y probar un método personalizado en PHP, utilizando el framework Laravel para un enfoque más estructurado.
¿Cuál es el proceso para configurar un test en Laravel?
Para comenzar, debemos entender cómo estructurar y organizar nuestros tests dentro del framework Laravel. Aquí te presento los pasos clave que debes seguir:
-
Crear un archivo de test: Empezamos asegurándonos de tener un archivo de test, por ejemplo,
PostTest.php
. Dentro de este archivo incluimos nuestras pruebas organizadas. -
Definir el método de test: A cada test dentro de la clase le damos un nombre que empiece con la palabra 'test'. Esto es crucial, ya que Laravel y PHPUnit reconocen automáticamente estos métodos como pruebas.
-
Inicializar y configurar el objeto: Cada prueba generalmente involucra la creación de un objeto de la clase que estamos probando. En este caso, podrías estar manipulando un objeto del post donde quieres generar un enlace.
public function testHref()
{
$post = new Post();
$post->name = 'Proyecto en PHP';
}
¿Cómo se espera el resultado del método test?
Una vez configurado el entorno y definido el test, es el momento de especificar qué resultado estamos esperando del método en cuestión:
- Utilizar assertions: Un aspecto crítico es usar funciones de assertion. En el caso del método
href
, esperamos que devuelva una URL formateada en minúsculas, separando las palabras con guiones.
$this->assertEquals('blog-proyecto-en-php', $post->href());
Aquí, assertEquals
ayuda a verificar si el resultado que retorna el método es el esperado.
¿Cómo definir un método personalizado en Laravel?
Ahora que tenemos una prueba que falla porque el método href
aún no existe, procedemos a crear ese método en la clase que estamos evaluando:
- Crear el método en el modelo: Agregamos el método
href
en el modeloPost
.
public function href()
{
return '/'. $this->getSlug();
}
- Implementar lógica personalizada: Dentro de este método podrías tener funcionalidades personalizadas, como generar un “slug” para la URL. El slug usualmente es generado utilizando el nombre del post en minúsculas y reemplazando espacios con guiones.
¿Por qué es importante duplicar código en los tests?
Puede parecer contraproducente al inicio, pero duplicar código en tus pruebas es esencial. Este enfoque permite:
- Facilitar el mantenimiento: Mantener fragmentos de código idénticos en tus tests aseguran consistencia. Si otro desarrollador desea entender tu lógica o realizar cambios, los tests servirán como una documentación clara y precisa.
- Verificar integridad: Al correr estos tests garantizamos que modificaciones futuras no rompan la funcionalidad existente.
Probar tus métodos personalizados es un paso para garantizar que tu código PHP sea robusto y esté libre de errores. Estas prácticas no solo te ahorran tiempo y estrés a largo plazo, sino que también fortalecen la calidad de tu software. Alienta a seguir investigando y aprendiendo sobre estos conceptos para perfeccionar tus habilidades de programación y testing.