Publicaciones recientes de Francisco Javier Martinez


Snapshot testing con Jest en Vue.js

Vue Testing

Para terminar este Curso de Testing con Vue aplicaremos diseño a nuestra app de gestión de tareas. Para ello instalaremos Bootstrap y aplicaremos algunas de las clases de este framework en algunos componentes. Cuando tengamos un diseño mas o menos convincente realizaremos un test de snapshot para asegurarnos que este diseño es el que queremos y que cualquier diferencia debe ser considerada como un error.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Invocando mutaciones desde una computed property de Vue.js con get y set

Vue Testing

En el video anterior dejamos sin hacer la funcionalidad de marcar una tarea como no realizada. A través de una computed, vamos a lanzar una mutación de vuex u otra dependiendo del valor del checkbox. Esto lo conseguiremos sobreescribiendo el setter de la computed. Crearemos tests que comprueben esta lógica.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Mostrando nuestra App de Vue en el navegador

Vue Testing

Durante todo el curso hemos estado implementando funcionalidades a nuestra app de tareas sin abrir el navegador. ¿Creéis que todo estará funcionando? Vamos a montar el componente ToDoList en la raíz y aprovecharemos también para eliminar ciertos tests introductorios. Finalmente haremos un par de ajustes a la interfaz de usuario.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Implementando las acciones del store de Vuex en el componente

Vue Testing

En esta lección implementaremos las acciones que probamos en el video anterior. Cambiaremos nuestra prueba que llamaba al método deleteTask para que ahora se llame a la acción del store. También crearemos las funciones necesarias para agregar una tarea y completarla, llamando a sus correspondientes acciones.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Probando acciones y mutaciones del store con Jest

Vue Testing

En este video añadiremos acciones y mutaciones a nuestra store. También comprobaremos con Jest que las diferentes mutaciones cambien el estado de la manera esperada y que, a su vez, las diferentes acciones llamen a sus correspondientes mutaciones.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Probando la integración del state y los getters de Vuex en el componente con vue-test-utils

Vue Testing

En la lección anterior probamos unitariamente el state y los getters de nuestra pequeña store. En este video integraremos esta store en nuestro componente TodoList.vue y comprobaremos que hacemos uso de ésta. Lo conseguiremos inyectando el objeto $store dentro del componente a través de mocks.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Probando el state y los getters de Vuex con Jest

Vue Testing

En esta lección crearemos una pequeña store de Vuex en nuestra aplicación. Nos aseguraremos a través de las pruebas de que en el state se inicializan los valores por defecto que esperamos y también que los getters devuelvan los valores correctos.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Probando router-link y $route de Vue Router con vue-test-utils

Vue Testing

Ahora que ya sabemos cómo crear stubs y mocks con vue-test-utils, vamos a montar un router real en nuestra aplicación. Crearemos una prueba que compruebe, a través de un stub,  que router-link apunte hacia la ruta correcta. Además escribiremos otra prueba que compruebe, en el componente de destino de la ruta, que se esté haciendo un uso adecuado de los parámetros que recibe de ésta.

Regístrate para ver ésta y cientos de lecciones exclusivas.

async / await con jest y vue-test-utils

Vue Testing

Es difícil pensar en promesas, callbacks, etc. cuando nos enfrentamos a funciones asíncronas. async / await nos facilita la lectura de nuestras pruebas ya que nos permite escribir código síncrono con funciones que no lo son. En esta lección aprenderemos a utilizarlo.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Utilizando mocks de Jest con librerías externas

Vue Testing

En ocasiones importamos librerías de terceros, como axios, que no son Plugins de vue. Por ello no podríamos usar el objeto mocks de vue-test-utils como vimos en la lección anterior. Estas librerías externas no son inyectadas en nuestro componente por lo que necesitamos una forma de sustituir su implementación real por otra. Lo conseguiremos con mock de Jest.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.