Cargando



Pruebas con AngularJS

En este tutorial el proceso de pruebas a través de AngularJS, que aplicaciones tenemos disponibles para ayudarnos en el proceso y como manejar las pruebas unitarias en el mismo.


sep 05 2014 05:59
Avanzado
sep 08 2014 20:14

Pruebas unitarias



Una vez que ya tenemos una noción de lo que significa trabajar orientado a pruebas para construir las aplicaciones en AngularJS, debemos entender cómo funciona este mundo de forma más específica, los casos de prueba se llaman pruebas unitarias, esto es debido a que cada prueba va a corresponder a una unidad de nuestra aplicación, así mientras más específicas las pruebas, más confiable es nuestro sistema.

Sin embargo no todo es tan sencillo como parece, estás pruebas tenemos que construirlas, por lo que debemos encontrar un balance entre lo que debemos probar y su grado de especificación, ya que hay elementos que no vale la pena escribir en una prueba, como hay otros que es una obligación hacerlo.

En esta sección veremos un poco como podemos construir las pruebas unitarias en nuestras aplicaciones hechas con AngularJS.

Correr las pruebas


Una de las cosas más importantes cuando estamos estableciendo un entorno de pruebas unitarias es que podemos configurar nuestro ambiente para que cada vez que salvemos nuestros documentos nuestras pruebas puedan correr y darnos el resultado inmediatamente.

Funcionalidad
Esta funcionalidad es una de las más útiles ya que si estamos modificando un componente de la aplicación que tiene impacto en varias partes podremos obtener el resultado sin necesidad de tener que navegar de forma manual, acelerando así todo el proceso de desarrollo.


Si estamos utilizando Karma para esto podemos establecer en su archivo de configuración la propiedad autoWatch con ello ya Karma sabrá que cada vez que cambie el archivo debe correr las pruebas, esto directamente sin tener que abrir consolas ni navegadores si hemos hecho la integración con nuestro IDE.

Integración con IDEs


La integración de Karma en nuestro IDE de preferencia no tiene porqué ser algo complicado, si bien es cierto que no hay plugins avanzados aún, podemos hacer nuestra pequeña integración al incluir atajos para los comandos básicos que necesitaremos o si estamos trabajando en ambiente eclipse, podemos utilizar la consola que nos ofrece el entorno.

Los comandos que realmente son los más utilizados para acceder a nuestras pruebas de Karma son:

karma start
karma run

Cada uno de estos comandos nos permite interactuar con nuestro esquema de pruebas establecido para obtener los resultados de forma rápida y oportuna para continuar con nuestro desarrollo de la aplicación.

Sintaxis básica


La sintaxis básica de las pruebas unitarias en AngularJS no es muy compleja, de hecho podemos escribir la mayoría de los comandos utilizando la forma de Jasmine JS, lo que debemos entender es que casi todos los elementos que vamos a utilizar se estructuran como si estuviésemos leyendo.

Dominio del inglés
Lamentablemente para los hispano parlantes, la mayoría de estas cosas están en inglés, por lo que el dominio de este idioma al menos en su parte técnica o básica se hace indispensable, de lo contrario puede que nos encontremos con algunos obstáculos.


AngularJS tiene internamente algunas plantillas que podemos utilizar para incorporar más herramientas en la construcción de nuestras pruebas. Veamos en la siguiente imagen un caso básico de una prueba escrita utilizando la sintaxis de Jasmine JS:


angular_pruebas_unit.jpg


En este sencillo ejemplo contra un controlador de nuestra aplicación vamos a evaluar con la función it() algunas condiciones que si las pasamos nuestra prueba será exitosa, en caso contrario será fallida y tendremos que trabajar en su solución.

Métodos para evaluar condiciones
Para la evaluación de condiciones podemos utilizar funciones como toBe() que espera un resultado que sea igual a la condición y el not.toBe que espera un resultado diferente a la condición que le pasamos.


Con esto finalizamos este tutorial, hemos visto un poco más a fondo lo que podemos encontrar cuando trabajamos con pruebas unitarias en nuestras aplicaciones hechas en AngularJS.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X