Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

El resultado

5/24
Recursos

¿Qué es lo más importante del testing?

El objetivo real del testing es fundamentalmente centrarse en el resultado. Durante el procesamiento de datos o ejecución de un programa, el testing nos permite verificar que el resultado obtenido es el esperado. A través de un ejercicio práctico, podemos comprenderlo mejor: realizamos pruebas para validar que ciertos procesos o entradas generan los resultados correctos y esperados.

¿Cómo organizar y crear un proyecto de testing en PHP?

Podemos organizar nuestras clases de testing utilizando herramientas como PHP Artisan. Esto implica crear un nuevo proyecto o clase de testing dentro de una estructura de carpetas organizada, por ejemplo:

php artisan make:test Helpers/EmailTest --unit

Esto generará automáticamente la estructura necesaria para comenzar a escribir nuestros tests unitarios.

¿Cómo validar entradas específicas como un email?

Para validar que un email es correcto, podemos usar filtros en PHP que verifiquen la validez del mismo. El siguiente código muestra cómo se podría configurar un test para comprobar si un email cumple con las características necesarias:

$result = filter_var($email, FILTER_VALIDATE_EMAIL);

¿Cómo se ejecutan y revisan los tests?

Una vez configurados los tests, los ejecutamos usando el comando:

php artisan test

Para enfocarnos en un método específico, añadimos el parámetro --filter seguido del nombre del método. Esto nos ayuda a centrarnos en las pruebas que realmente necesitamos verificar.

¿Por qué externalizar las validaciones?

Las validaciones, como la del email, se deben externalizar a clases específicas. Esto no solo organiza mejor el código, sino que facilita la reutilización y el mantenimiento. Creando una clase específica para las validaciones, podemos asegurarnos de que nuestros tests sean efectivos y claros.

class Email {
    public static function validate($email) {
        return filter_var($email, FILTER_VALIDATE_EMAIL);
    }
}

Al externalizar, el testing no solo se centra en ver si la clase funciona, sino en validar continuamente los resultados de la misma, promoviendo una programación más robusta.

¿Cómo optimizar la validación e integración de input?

Al integrar y validar entradas, debemos esperar diferentes resultados. Un email con formato incorrecto debería dar un resultado falso, mientras que uno correcto, uno verdadero:

$email1 = '[email protected]';
$result1 = Email::validate($email1); // Debería retornar true

$email2 = 'user@@example.com';
$result2 = Email::validate($email2); // Debería retornar false

Realizar pruebas en estos diferentes escenarios ayuda a asegurar que nuestras funciones respondan adecuadamente a distintos tipos de input.

¿Cuál es la importancia de las pruebas automatizadas?

Las pruebas automatizadas, como PHPUnit, permiten validar contínuamente los resultados de las aplicaciones sin la necesidad de verificar manualmente en un navegador. Esto no solo ahorra tiempo, sino que también mejora la eficiencia y la confiabilidad del desarrollo de software. Usar estas herramientas es crucial para cualquier desarrollador que busque mejorar sus habilidades en programación y testing.

¡Sigue aprendiendo y adquiriendo nuevas habilidades! El viaje de la programación está lleno de desafíos, pero cada uno de ellos te lleva a ser un desarrollador más competente y efectivo.

Aportes 6

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Este también es un concepto importante para el testing, sobre todo porque muy comúnmente nosotros vamos a tener nuestra programación por allá en los controladores, ese va a ser nuestro “código de producción”, entonces básicamente los testing lo que hacen es decir: “Ok, me voy a jalar este código para acá y vamos a probar si es cierto que funciona”, y tanto tu aplicación en producción como el testing van a estar usando el mismo código, pero el testing es el que te va a decir “Oye, esto sí funciona”, mientras más casos de prueba tengas mejor 😄

El crear estos test al principio nos va recurrir invertir mucho tiempo, pero a medida que la App se complica, nos va a ayudar a descubrir errores y mejor aún a evitarlos.

La validación se debe hacer desde otra clase porque justamente los tests son para probar funcionalidades de nuestro sistema, entonces no tendría mucho sentido que la lógica se encuentre en el mismo test sino en la aplicación como tal.

Por si acaso alguno tiene dudas sobre los filtros de php les dejo ell link:
https://www.php.net/manual/es/filter.filters.validate.php

Genial, muy buena la funcionalidad de los test

buenisimo, todo muy claro