Ya en la lección anterior adaptamos el componente laravel/browser-kit-testing para que nuestras pruebas regresaran a la normalidad luego de actualizar a Laravel 5.4. Ahora integraremos el nuevo componente de pruebas Laravel Dusk que nos trae una mejora bastante significativa: podemos probar aplicaciones que hagan uso de Javascript en el navegador. De esta manera, haremos que los dos componentes de prueba funcionen en nuestra aplicación. Además, vamos a reescribir algunas pruebas para que funcionen con Dusk. Veamos a continuación cómo:
Regístrate para ver ésta y cientos de lecciones exclusivas.
Actualizar un proyecto a nuevas versiones de componentes o del framework forma parte del ciclo de vida de una aplicación. Estas actualizaciones nos traen mejoras y en algunos casos soluciona errores o fallos. Sin embargo, a medida que avanzamos en nuestro desarrollo nos parece abrumador realizar este proceso, pero como te mostraremos en esta lección el uso de pruebas automatizadas y TDD es un apoyo muy útil para asegurarnos que todo siga funcionando correctamente luego de realizar la actualización.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Laravel Dusk es un nuevo componente para Laravel 5.4 que nos permite probar nuestras páginas y aplicaciones de forma automática. Este componente es el sucesor a Browser Kit Testing el cual nos permitía escribir pruebas y simular el comportamiento del navegador usando PHP, lo cual es muy rápido pero limitado porque no nos permite probar JavaScript. Dusk sí abre un navegador de verdad (Chrome por defecto) y ejecuta los pasos como si de una persona navegando se tratase, probando el comportamiento del navegador, JavaScript y CSS incluido. Esto tiene una ventaja y es poder probar nuestros componentes de Vue, plugins de jQuery, etc. de forma automática como veremos en el siguiente video:
Regístrate para ver ésta y cientos de lecciones exclusivas.
Laravel 5.4 viene con un nuevo componente llamado Laravel Mix, el cual es el sucesor de Laravel Elixir. Sin embargo, Laravel Mix está basado en Webpack en vez de Gulp. Webpack es una herramienta muy poderosa y versátil que nos permite compilar módulos dinámicos y sus dependencias en archivos estáticos y mucho más. Pero Webpack tiene una curva de aprendizaje mucho más empinada que Gulp y aquí es donde entra Laravel Mix: el cuál nos permite usar los features más relevantes de Webpack de una forma sencilla, rápida y casi transparente para nosotros los desarrolladores. En esta lección aprenderemos cómo instalar y utilizar Laravel Mix en pocos minutos:
Regístrate para ver ésta y cientos de lecciones exclusivas.
Como se vió en la lección Uso de fakes para comprobar el envío de mailables y notificaciones con PHPUnit en Laravel 5.3 del Curso de novedades en Laravel 5.3 podemos hacer uso de test doubles para crear objetos que simulen un objeto real que nos permita probar nuestras aplicaciones de una manera automatizada sin depender de una API o servicios externos, pero en este tipo de pruebas no estamos comprobando que la vista y el mensaje se esté construyendo correctamente. Hasta la fecha de publicación de esta lección en el framework Laravel no existe una forma oficial de hacer dicha comprobación para las clases Mailable por tanto, esta lección está dedicada a explicar cómo crear un método de prueba para verificar esto.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Las pruebas de regresión nos permiten buscar y encontrar errores de un código ya desarrollado, por ello en esta lección mejoraremos nuestro módulo de autenticación creando pruebas para los siguientes escenarios: el usuario use un token inválido, el usuario use dos veces un mismo token, el usuario use un token transcurrido más de 30 minutos de haber sido generado y que la comprobación del token sea sensible a mayúsculas y minúsculas.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Los Mailables introducidos en la versión 5.3 de Laravel nos dan la posibilidad de generar mensajes de email a través de clases de una forma muy simple y rápida, como aprendimos en el Curso de Novedades de Laravel 5.3.
Eloquent, el ORM de Laravel, dispara una serie de eventos antes y después de crear, actualizar o eliminar registros. Por ejemplo tenemos eventos como «creating» y «created» o «saving» y «saved». Hasta Laravel 5.3 podíamos asociar dichos eventos a callbacks usando una sintaxis como: Event::list(«eloquent.created: App\Post», $callback) o App\Post::created($callback).
Sin embargo, desde hace varias versiones, Laravel nos permite trabajar con eventos y listeners utilizando clases y a partir de Laravel 5.4 también podemos definir clases para los modelos de Eloquent de una forma muy sencilla como veremos en la siguiente lección:
Hasta ahora, definir áreas que queremos que contengan traducciones nos obligaba a inventar una «llave» y luego a irnos al directorio resources/lang para especificar la llave con su traducción, esta labor se vuelve tediosa cuando tenemos proyectos con cientos de cadenas que queremos traducir. A partir de Laravel 5.4 se simplifica este proceso, ya no necesitamos especificar una llave por cada texto sino que podemos usar texto plano y además todas las traducciones se almacenarán en un simple archivo JSON como veremos en esta lección:
Laravel 5.4 incluye varias mejoras en el sistema de rutas, a partir de ahora es posible definirlas con una interfaz completamente fluida, es decir encadenando métodos para especificar los diferentes componentes de las rutas o grupos de rutas como lo son middleware, prefijos, nombres, entre otros y esto por supuesto lo aprenderás en el siguiente video:
Styde usa cookies para guardar tus preferencias y para seguimiento anónimo AceptarLeer más
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.