TDD en Laravel 5.3

Alejandro Roa
2 min readDec 9, 2016

--

El enfoque del desarrollo en base a TDD o Test-driven development es distinto al enfoque tradicional, donde los analistas o desarrolladores levantan requerimientos desde el diseño relacional de la base de datos hasta la programación de los módulos correspondientes.

Cuando creamos una aplicación en base a TDD, el enfoque es el siguiente:

  1. Pensar y desglosar explicitamente como va a funcionar el nuevo modulo que se va desarrollar, teniendo en cuenta los datos que posees, el proceso que debes ejecutar y la respuesta que deseas esperar.
  2. Escribir la prueba unitaria en base al análisis previsto. https://laravel.com/docs/5.3/testing#creating-and-running-tests
  3. Ejecuta la prueba (puedes usar en la consola: phpunit o vendor/bin/phpunit — filter test_un_usuario_registra_items, este ultimo si solamente quieres ejecutar una prueba de forma individual)
  4. Cuando te salga un error, escribe el código que necesitas para que la prueba pase.

El secreto de esta metodología, es escribir código en base a las pruebas que se analizaron, de esta forma, se asegura la calidad del feature. (es importante que aprendamos a escribir pruebas de calidad)

Para escribir una prueba de calidad, sigue analíticamente los siguientes pasos:

  1. Escribe que datos o condiciones iniciales debe tener el modulo para ejecutarse
  2. Escribe el código que ejecutara las acciones que el usuario puede realizar
  3. Escribe el código que se espera como respuesta de la acción, estos resultados pueden ser: cambios en la base de datos, emails enviados, redirecciones de rutas, entre otros.

No esta demás recomendar la documentacion oficial https://laravel.com/docs/5.3/ y tambien la plataforma que te especializa en php con laravel en sus diferentes versiones https://styde.net/

--

--

Alejandro Roa

Software Engineer 💻 #Javascript #Typescript #React #Angular #Nodejs #Java #SpringBoot https://www.linkedin.com/in/alejandroroa/