Curso de Testing Javascript Moderno. Parte 6: tests unitarios en el DOM

Introducción

Continuamos con nuestra revisión de testing moderno tras haber visto cómo trabajar tanto con código asíncrono como con los métodos privados que podríamos encontrar en nuestra aplicación.

En esta ocasión, retomamos nuestra arquitectura MVVM para analizar cómo organizaríamos nuestras pruebas con el fin de cubrir la mayor parte de código posible. En relación a esto, habría que resaltar que testear cada capa de una arquitectura modelo-vista/vista-modelo resulta trivial: únicamente se trata de ir escribiendo los tests necesarios que comprueban aquellas funcionalidades que necesitamos implementar. No obstante, existen algunas recomendaciones concretas que pueden aplicarse a diversos aspectos de Backbone que es conveniente conocer.

Pero las pruebas que vamos a ver no se limitan únicamente a estas aplicaciones más complejas: resultan fundamentales también para pequeños desarrollos habituales como por ejemplo plugins de jQuery o cualquier funcionalidad de nuestra aplicación que termine pintando algo en pantalla. Básicamente se trata del mismo ‘concepto’: coger datos de algún sitio, procesarlos y enviar algo a la pantalla. Los tests unitarios en este escenario nos ayudan a comprobar que realmente estamos generando aquello que esperamos, y que no se rompe nada por el camino.

Veamos cómo conseguir esto:
Seguir Leyendo…

Dentro de Javascript, TDD | Etiquetas: , , , , , , | 2 Comentarios

Curso de Testing Javascript Moderno. Parte 5: tests unitarios en métodos privados

Introducción

Continuamos con nuestra serie de tutoriales sobre Testing Moderno en Javascript para abordar en esta ocasión una cuestión interesante: la cobertura de aquellos métodos o funciones que estructuramos en nuestras aplicaciones para que sean ‘privados’ siguiendo la filosofía de otros lenguajes de programación orientados a objetos.

Por definición, estos trozos de código deberían ser inaccesibles desde fuera del contexto en el que se han declarado, por lo que a priori, los tests que lanzamos no son capaces de analizarlos. Para solventar este problema no existe una fórmula ‘universalmente aceptada’, por lo que tenemos que recurrir a la que mejor se adapte a nuestra forma de programar.

Veamos en detalle el problema y las soluciones propuestas.
Seguir Leyendo…

Dentro de Javascript, TDD | Etiquetas: , , , , , , , , | 5 Comentarios

Curso de Testing Javascript Moderno. Parte 4: testeando código asíncrono (AJAX)

Testeando Javascript Asíncrono: AJAX

Introducción

En el capítulo anterior, repasamos cuál debería ser la estructura básica de una suite de tests, entendiendo por suite el bloque de tests encargado de dar cobertura a un conjunto concreto y relacionado de funcionalidades. Vimos cómo dentro de cada una de estas piezas, que no deja de ser una agrupación abstracta de tests con cierta relación entre ellos, las pruebas se agrupan a su vez en lo que denominamos ‘bloques’. Estos bloques, pueden a su vez anidarse dentro de otros para conseguir una mayor claridad organizativa. Finalmente escribimos algunos ejemplos en los que se mostraba cómo en cada uno, agrupábamos distintos casos de test (esto son las afirmaciones o tests unitarios) que van dando cobertura (y documentación) a las funcionalidades.

En esta nueva entrega analizaremos como atacar el problema del código asíncrono (el que llega a través de una petición AJAX), un importante obstáculo a priori porque se trata de manejar y comprobar algo que aún no tenemos y que, por lo general, depende de un tercero. Para estos casos, recurriremos a los ‘stubs‘ que ya mencionamos en la primera entrega de esta serie y que ahora retomamos para trabajarlos con más profundidad. Vamos allá.
Seguir Leyendo…

Dentro de Javascript, jQuery, TDD | Etiquetas: , , , , , , , | 3 Comentarios

Curso de Testing Javascript Moderno. Parte 3: estructura básica de una suite de tests

Introducción

Continuamos con nuestra serie de tutoriales sobre testing moderno para, en esta ocasión, echarle un vistazo a cómo es un bloque de test (también llamado suite) tal y como lo usaremos más adelante. Recordemos que, aunque hemos escogido MOCHA como framework para estas pruebas, la idea es similar para cualquier otro. Del mismo modo, incluso las sintaxis entre bibliotecas no cambia demasiado por lo que, si escogemos otro paquete, únicamente deberíamos revisar su documentación y traducir los siguientes ejemplos.

Metámosnos en materia…
Seguir Leyendo…

Dentro de Javascript, TDD | Etiquetas: , , , , , | 3 Comentarios

Curso de Testing Javascript Moderno. Parte 2: nomenclatura testing

General

Ya hemos visto en la entrega anterior las herramientas que vamos a utilizar pero, igual de importantes que éstas, es la distribución de ficheros que deberíamos emplear en un proyecto al que queremos aplicar tests de la forma más correcta o estándar posible.

Por lo general, los tests se recogen en ficheros independientes asociados a la vista, modelo, controlador o biblioteca sobre la que están actuando; en otras palabras, lo habitual es crear un fichero de tests por cada fichero que queremos testear.

La nomenclatura clásica establece una estructura donde todos estos ficheros quedan recogidos en un único directorio base denominado ‘test’. En su interior, podemos encontrar a su vez otras subcarpetas para clasificar las ‘suites’ según actúen sobre una u otra categoría y que suelen reflejar de forma fidedigna la estructura original del proyecto. Dicho de otro modo, en el interior de la carpeta ‘test’ tendríamos que encontrar una copia idéntica del árbol de ficheros de nuestra aplicación como si de un espejo se tratase:

Seguir Leyendo…

Dentro de Javascript, TDD | Etiquetas: , , , , , | 3 Comentarios
Página 3 de 3212345...102030...Última
Licencia Creative Commons 3.0

®Copyright 2016. Cotenido web bajo licencia Creative Commons 3.0

Códigos bajo licencias MIT y GPL. Ver página de licencias para más información