Comparte en Facebook Twitter Google+

Computador con pruebas pasando

He estado escribiendo pruebas para un nuevo proyecto en el que estoy trabajando, utilizando el componente de pruebas de aplicación de Laravel (por supuesto) y me he dado cuenta que tiendo a repetir en todas mis pruebas el mismo encabezado, por ejemplo:

Aunque no parezca demasiado, en todas mis pruebas de aplicación debo incluir el trait DatabaseTransactions y puede que necesite incluir otro trait o algunas funciones helpers que son comunes sólo para mis pruebas de aplicación. Así que en vez de repetir este código una y otra vez, en mis proyectos he estado creando un nuevo TestCase llamado FeatureTestCase el cuál incluye al menos lo siguiente:

Luego el encabezado de mis pruebas se reduce a lo siguiente:

Por supuesto para que esto funcione debo modificar mi archivo composer.json y agregar FeatureTestCase a la sección autoload-dev:

Y después ejecutar composer dump-autoload.

Otra recomendación que puedo darte es que no utilices la palabra public en tus métodos de prueba ya que es opcional ponerla, puesto que por defecto es la visibilidad de un método en una clase.  Adicionalmente, escribe los nombres de los métodos en “snake_case” en vez de “camelCase” es decir:

function test_user_can_create_a_post() en vez de:  public function testUserCanCreateAPost()

De esta manera, al escribir los nombres de los métodos de una prueba serán más legibles, ya que dichos nombres deben ser descriptivos y por ende tienden a ser largos.

Pueden parecer 2 tips muy simples y de hecho lo son, pero harán que tus pruebas se lean un poco mejor y más rápido, y aunque sean “sólo pruebas” también son código que tendrás que leer y mantener por mucho tiempo.

Las pruebas son una excelente forma de documentar la funcionalidad (features) de tu proyecto y asegurarte además que las mismas estén funcionando adecuadamente. Así que el tiempo que uses en definir pruebas de forma adecuada, será una excelente inversión para todo el ciclo de vida de tu aplicación.

Si quieres aprender más sobre pruebas no dejes de ver nuestro nuevo curso Crea una aplicación con Laravel 5.3 donde utilizo estos y muchísimos otro tips y prácticas de desarrollo siguiendo la metodología TDD. También puedes ver los siguientes tutoriales y lecciones:

Únete a la discusión

Regístrate en Styde y obtén una invitación a nuestro Slack.

Regístrate hoy en Styde y continua mejorando tus habilidades: ver planes.